SSO单点登录思路以及实现

SSO存在已久,所以不敢归类到原创。

SSO的核心思路是统一管理用户登陆,一般使用在web应用中。客户端与服务端通过数据交互,判断用户是否已经在某个系统登陆,免去用户重复登陆的问题。

设计了两套SSO的思路,两者都通过随机生成的tokenid校验用户登陆信息。

方案一

服务端只提供token信息的存储、查询以及用户登陆、登出等操作。这种方式的好处是,服务端不必关心客户端类型,哪怕是移动端,只要client能够拿到token,就可以做到免登陆,不限于web。同时带来一个问题,就是如何确定访问的有效性?这里我们的使用场景基于dubbo service,本身已经不需要担心身份安全性问题,所以显得方便。但是这个方案中,由于token存储的不确定性,server端无法帮助client做任何token处理。那么每个客户端都会增加token处理的操作。基本思路是通过jar引用方式统一处理,而不需要每个项目再单独处理。

方案二

server端提供http服务,好处是可以拦截非白名单并且在服务端处理cookie,客户端只需要根据服务端的返回结果,处理业务流程即可。


先贴思路,代码后面补。

猜你喜欢

转载自blog.csdn.net/u013275741/article/details/50442146