[英]External authentication/authorization for CakePHP
我们正在考虑为一些Web应用程序实现单点登录的选项,其中一些是CakePHP(1.3),而另一些则不是。 我希望得到以前做过这些的人的建议或意见。
这是一个想法:访问CakePHP应用程序由服务器AuthType控制。 如果用户未经过身份验证,则他们根本无法访问应用程序,而是被踢回SSO登录页面。 如果他们然后成功登录,他们将被重定向回应用程序并被Web服务器授予访问权限。
此时,CakePHP将读取$_SERVER['REMOTE_USER']
以识别用户并向他或她提供正确的信息。
具体问题:
$_SERVER
超全局? 为了澄清,我只需要知道经过身份验证的用户 - 我不需要(或想要)与任何其他应用程序共享整个会话。
谢谢!
编辑:只是重申我在下面的评论,SSO和所有应用程序将在我们的服务器上。 我们不会使用RealID或任何其他外部身份验证机制。 因此,当我说“外部”auth时,我的意思是CakePHP的外部,但不是我们的Web服务器的外部。
AFAIK,REMOTE_USER仅在设置了“Authorization Required”标头并且用户使用http auth进行身份验证时设置。
大多数单点登录服务使用oAuth类型令牌来记录用户。我认为他们不会设置SERVER变量。
在任何一种情况下,都不建议使用http身份验证,因为如果发现可疑活动,则无法将某人记录下来。 除非关闭浏览器,否则用户无法自行注销。
我强烈建议您坚持使用基于会话的身份验证和授权。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.