繁体   English   中英

CakePHP的外部认证/授权

[英]External authentication/authorization for CakePHP

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

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

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

具体问题:

  • 假设我们可以相信SSO是安全的,这种方法是否安全可靠?
  • 是否可以(或有用)将此机制与Cake的Auth组件集成?
  • 是不是直接读取$_SERVER超全局?
  • 是否有更像Cake的方式使应用程序SSO知道?

为了澄清,我只需要知道经过身份验证的用户 - 我不需要(或想要)与任何其他应用程序共享整个会话。

谢谢!

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

AFAIK,REMOTE_USER仅在设置了“Authorization Required”标头并且用户使用http auth进行身份验证时设置。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM