通过Token+Redis实现分布式会话, 可以在相同一级域名下实现单点登录, 那么如何实现跨一级域名的单点登录呢?
一级域名不一样, 如何实现单点登录呢? 比如.jd.com
和.tb.com
要实现会话共享, 这个时候由于一级域名不同, cookie就不能跨域了, 每个站点请求各自的服务器, cookie无法同步, 比如www.jd.com
下的用户发起请求后会有cookie, 但是他又访问了www.tb.com,由于cookie无法携带, 所以会需要你二次登录
那么遇到一级域名不同, 却又要实现单点登录该如何实现呢
如上图所示, 多个系统之间的登录, 会通过一个独立的认证服务系统去做验证, 它相当于一个中介公司, 整合了所有人, 你要看房经过中介允许, 拿钥匙就行, 实现了统一的登录, 那么这个就称之为CAS系统, CAS全称Central Authentication Service, 即中央认证服务, 是一个单点登录的解决方案, 可以用于不同的一级域名之间的单点登录
其实就是将认证功能抽取成独立的服务, 然后就可以在多系统中传递了