美文网首页
SSO单点登录

SSO单点登录

作者: e80e074de5f8 | 来源:发表于2018-10-28 15:54 被阅读0次

    单点登陆

    单系统登陆如何实现

    示例:客户端向服务端发送请求,首次请求受保护资源时,服务端生成cookie并返回给客户端,客户端保存cookie。下次请求服务端时自动带上服务端相关域名的所有cookie,服务端收到cookie并检测是否存在,若存在则返回受保护资源给客户端。


    单系统登录

    总结:单系统登陆是依据cookie域(通常是服务端的域名)进行的,记录用户状态。

    集群系统下单系统登录诟病

    服务器集群环境下,不同系统的域名不一样,用户每次访问该系统时,都需要进行一次登陆操作,操作繁琐,用户体验感也差。
    这个时候,单点登陆就可以解决我们的问题。

    单点登陆

    单点登陆(Single Sign On):是指在多系统应用集群环境下,只需要在系统登陆一次,就可以访问其他子系统且无需再次登陆。单点登陆还包括(注销模块)


    单点登录

    原理:从系统集群中抽出用户中心模块,作为系统授权中心管理。
    假设有集群中有系统1,系统2,用户中心三个系统。
    1.当客户端首次访问系统1时,系统1去访问用户中心该用户是否已经登陆,用户中心响应用户未登陆,返回登陆页面(携带系统1地址)给客户端。
    2.客户端直接向用户中心系统发起登陆请求,用户中心接受请求,校验通过后生成令牌(关键点),并创建全局会话,跳转到系统1(携带令牌)。
    3.系统1接受到用户中心携带的令牌,再向用户中心发起令牌校验请求
    4.用户中心校验令牌通过,向系统1注册用户信息,返回成功给系统1
    5.系统1创建局部会话,并将受保护资源返回给客户端。
    6-1.客户端下一次访问系统1,系统1根据局部会话是否存在,若存在,直接返回受保护资源。否则重复第1步操作。
    6-2.客户端下一次访问系统2,系统2检测局部会话不存在,系统2去请求用户中心。
    7.用户中心检测用户已登录,返回令牌给系统2。
    8.系统2接收令牌后,向用户中心发起令牌校验。
    9.用户中心令牌校验通过,给系统2返回成功信息
    10.系统2创建局部会话,并将受保护资源返回给客户端。
    11.客户端下一次访问系统1/系统2, 参照6-1/6-2即可。

    单点注销

    单点注销

    1.客户端向系统1发起注销请求
    2.系统1向用户中心发起注销请求
    3.用户中心校验用户登陆令牌通过,注销令牌,向各子系统发起注销令牌请求。
    4.所有子系统注销该用户的登陆令牌

    单点登陆指导:https://www.cnblogs.com/ywlaker/p/6113927.html

    相关文章

      网友评论

          本文标题:SSO单点登录

          本文链接:https://www.haomeiwen.com/subject/zyeptqtx.html