单点登录实现方案
Posted ldy-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单点登录实现方案相关的知识,希望对你有一定的参考价值。
单点登陆实现方案设计
整体流程:
设计思路:
单点登录涉及?sso?认证中心与众子系统,子系统与?sso?认证中心需要通信以交换令牌、校验令牌及发起注销请求,因而子系统必须集成?sso?的客户端,sso?认证中心则是?sso?服务端,整个单点登录过程实质是?sso?客户端与服务端通信的过程,可用下部署图描述:
sso?认证中心与?sso?客户端通信方式有多种,HttpClient,WebService、rpc、restful
api?都可以,考虑各系统采用B/S架构,这里我们应用普遍的httpClient即可。
实现原理:
SSO Client
拦截子系统未登录用户请求,跳转至?sso?认证中心
接收并存储?sso?认证中心发送的令牌
与?SSO Server?通信,校验令牌的有效性
建立局部会话
拦截用户注销请求,向?sso?认证中心发送注销请求
接收?sso?认证中心发出的注销请求,销毁局部会话
SSO Server
验证用户的登录信息
创建全局会话
创建授权令牌
与?SSO Client?通信发送令牌
校验?SSO Client?令牌有效性
系统注册
接收?SSO Client?注销请求,注销所有会话
实现方案:
主系统(认证中心):
- 主系统集成认证中心服务sso server,由主系统确认用户的登录操作。
子系统:
- 子系统可通过集成sso
client服务(可通过http请求方式)确定用户是否登录以及用户对应的响应角色信息,用户登录后通过主系统重定向到各个子系统服务。
无状态交互:
- 无状态的注册,受权等操作可直接由主系统通过httpclient方式直接向自服务发送请求,具体参见文档:针对第三方系统登录方案设计说明文档.doc。
以上是关于单点登录实现方案的主要内容,如果未能解决你的问题,请参考以下文章