我们正在考虑为一些web应用程序实现单一登录的选项,其中一些是CakePHP (1.3),另一些则不是。我希望以前做过这件事的人能给我建议或评论。
这里的想法是: CakePHP应用程序的访问由服务器AuthType控制。如果用户没有经过身份验证,他们就根本无法访问应用程序,而是被踢回SSO登录页面。如果他们成功登录,他们将被重定向回应用程序,并被web服务器授予访问权限。
此时,CakePHP将读取$_SERVER['REMOTE_USER']的内容,以识别用户并向用户提供正确的信息。
具体问题:
假设我们可以相信SSO是安全的,这种方法是否安全和健壮?
$_SERVER超级全局?H 210f 211为了澄清,我只需要了解经过身份验证的用户-我不需要(或不想)与任何其他应用程序共享整个会话。
谢谢!
编辑:只是想重申我下面的评论,SSO和所有的应用程序都会出现在我们的服务器上。我们将不使用RealID或任何其他外部auth机制。因此,当我说“外部”auth时,我指的是CakePHP之外的,而不是我们的web服务器的外部。
发布于 2010-11-18 16:43:27
AFAIK,只有当设置了“授权所需”标头并且用户使用http auth进行身份验证时,REMOTE_USER才会被设置。
大多数单一的登录服务使用oAuth类型的令牌来登录用户。我不认为他们会设置服务器变量。
在任何一种情况下,都不建议使用http身份验证,因为如果您注意到可疑的活动,就不可能登出。除非关闭浏览器,否则用户无法登录。
我强烈建议您坚持使用基于会话的身份验证和授权。
https://stackoverflow.com/questions/4216520
复制相似问题