单点登陆如何实现
来源:1-3 为什么企业级项目需要权限管理

huangaiguo
2018-11-11
单点sso 如何实现
写回答
1回答
-
你好,给你提供一个大致的思路。要做到单点登录,首先肯定是多个系统都能从同一个地方获取到登录信息,然后对这个信息进行处理。
而这个同一个地方最简单的就是使用cookie,将登录信息以某种形式写入多个系统都能访问到的cookie域,然后多个系统都能自动取出来进行解析处理就可以了。这里涉及到解析的问题,多个系统要保持一致,因此通常会封装个jar包,多个系统都使用jar包里相同类的相同方法进行解析。
对于大公司而言,系统登录处理是一个部门单独来负责的,登录那里按照刚才的方式在验证成功后按照一定规则将信息写入cookie即可,然后由他们提供jar来让需要判断登录的系统使用。
同时还要注意,这种方案写在cookie里的信息只能帮助系统判断当前用户是否登录,但是如果要获取登录用户的信息,还需要发起远程接口去用户组获取。
写入cookie的信息可以理解为对用户某些信息的一种加密,这种加密方式不容易被破解,否则可以被伪造。同时,还要考虑这种信息的另外一层安全,就是cookie被别人拷贝走的情况,因此可以考虑对用户id、登录ip、浏览器信息、过期时间等组合后进行加密,解密失败肯定是有问题,解密后其他项可以加入更多逻辑。112018-11-11
相似问题