我反复阅读了CAS
服务器文档,非常了解客户端、服务器和应用程序之间的数据流。
然而,我特别感兴趣的是在以下情况下会发生什么:
- 用户到达应用程序,输入凭据并获得
CAS
服务器的授权 - PHP收到答案,创建
PHPSESSID
- 在某个时间点,管理员从注册表中删除该用户(无论是DBMS、LDAP还是其他什么)
- 用户发送对受保护资源的请求-接收资源
因此,正如您可能看到的,安全性是我的主要问题。如何以及何时验证/刷新会话/访问令牌?
这个问题是关于CAS
和BeSimpleSsoAuthBundle
的,但我相信它适用于其他类似目的的协议。
这就是我尝试过的:
- 在单独的盒子上安装/配置
CAS
- 在另一个盒子上安装/配置的应用程序
- 已使用应用程序通过
CAS
进行身份验证-成功 - 用户尝试访问受保护的资源-成功
- 关闭运行
CAS
的Tomcat
服务器 - 尝试访问应用程序中受保护的资源-成功(?!)
如果我错过了什么,我会非常乐意更新我的问题:)
免责声明:我是CAS董事长,CAS云计算创始人(https://www.casinthecloud.com)。
这是CAS的总体设计:您有客户端和服务器,这提供了一些优势,但主要关注的问题之一是,在应用程序中进行身份验证后,您可能无法再次与CAS服务器通信。
在现实生活中,除非你使用记住我,否则这通常不是问题。几个小时后(最坏的情况是),SSO/web会话结束,被删除的用户无法再登录。