gpt4 book ai didi

php - CakePHP 的外部认证/授权

转载 作者:搜寻专家 更新时间:2023-10-31 21:18:00 27 4
gpt4 key购买 nike

我们正在考虑为一些 Web 应用程序实现单点登录的选项,其中一些是 CakePHP (1.3),而另一些则不是。我希望从以前做过这件事的人那里得到建议或评论。

想法是这样的:对 CakePHP 应用程序的访问由服务器 AuthType 控制。如果用户未通过身份验证,则他们根本无法访问该应用程序,而是被踢回 SSO 登录页面。如果他们随后成功登录,他们将被重定向回应用程序并被网络服务器授予访问权限。

此时,CakePHP 会读取 $_SERVER['REMOTE_USER'] 的内容来识别用户并向他或她提供正确的信息。

具体问题:

  • 假设我们可以相信 SSO 是安全的,那么这种方法是否安全可靠?
  • 是否可以(或有用)将此机制与 Cake 的 Auth 组件集成?
  • 直接读取$_SERVER super-global 是Cakey 吗?
  • 是否有更像 Cake 的方式让应用程序 SSO 感知?

澄清一下,我只需要知道经过身份验证的用户——我不需要(或不想)与任何其他应用共享整个 session 。

谢谢!

编辑:只是重申我在下面的评论,SSO 和所有应用程序都将在我们的服务器上。我们不会使用 RealID 或任何其他外部身份验证机制。因此,当我说“外部”身份验证时,我的意思是在 CakePHP 外部,而不是在我们的 Web 服务器外部。

最佳答案

据我所知,REMOTE_USER 仅在设置“需要授权” header 且用户使用 http 身份验证进行身份验证时设置。

大多数单点登录服务使用 oAuth 类型 token 来登录用户。我认为他们不会设置 SERVER 变量。

在任何一种情况下,都不建议使用 http 身份验证,因为如果您发现可疑事件,则无法将某人注销。除非关闭浏览器,否则用户无法自行注销。

我强烈建议您坚持使用基于 session 的身份验证和授权。

关于php - CakePHP 的外部认证/授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com