CAS SSO能否级联
我们的系统(以下简称A),其各个子系统之间使用CAS(简称CAS-A)来共享身份。
现在A要以一个子系统的角色加入到一个更大的系统(简称B)之中,而B也使用CAS(简称CAS-B)。
能否实现不修改A中的各个子系统,而是让CAS-A级联到CAS-B,即:
- A中的各个子系统仍然使用CAS-A
- CAS-A使用CAS-B来做身份验证
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1. 既然都是CAS,既然认证源要全部使用B的,可以考虑直接将CAS-A的域名切到CAS-B上,这应该是最简单的办法
2. 如果确实希望有两台并行的CAS Server,那么有以下两点需要完成:
1) 用户名密码统一
由于CAS本身不对外发布认证源内容(这样也非常不安全),所以不能直接将CAS-A的认证源指向CAS-B前端服务,但可以指向其后端的认证源。例如CAS-B用的某一个LDAP做认证,CAS-A就也配置成指向那个LDAP,这样用户名密码就统一了。可接受的认证源及其配置查看此页面。
2) 登录状态一致
如果你希望两个CAS上登录的人可以保持登录状态一致(即在B登录过的人访问A的Service时自动登陆,反之亦然),那么除了做到第二点外还需要将CAS-A的Ticket Registry切到与CAS-B一模一样,以保证TGT和ST的共享。如果希望各自登录状态保持独立,只是用户名密码一致,CAS-A就必须继续使用一个自有的Ticket Registry。可接受的Ticket Registry及其配置请查看此页面的子页面。