单点登录问题

单点登录

我觉得单点登录问题,分为两种。
因为cookie不可以跨域存储和访问。

同域下。。一个用户只可以在一个地方登录。

项目中遇到过用户只可以在一端登录。登录成功后将会话信息存入redis并且返回前端(SET_COOKIE);
项目中加拦截器。比较请求携带的cookie和redis中的cookie是否一致。如果不一致,则在他出已经登录,反之,则通过。

不同域下。

只是确定一个公用的域,当访问的时候,倘若没有登录,则跳到登录服务器验证,返回token并保存。在跳转至访问地址。用凭证判断是否已经登录。
访问第二个域时。重定向到登录服务器校验是否已登陆,已登录则返回凭证供第二个服务使用。反之则登录。