SSO系统设计文档
1、SSO数据库设计
1.1 SSO用户表 ssoUsers
字段名 | 中文名称 | 字段类型 | 说明 |
ssoUserId | 序号 | Int(4) | PK,自增 |
ssoLoginId | SSO登录用户名 | NVarChar(50) | Not null |
ssoPassword | SSO登录密码 | NVarChar(50) | Not null |
ssoUserName | 用户姓名 | NVarchar(50) | 真实姓名 |
1.2 应用系统表 Apps
字段名 | 中文名称 | 字段类型 | 说明 |
AppId | 标识 | NVarChar(50) | PK,此标识在应用系统中的用户信息 如:App_jscywxt,用应用系统的全称的拼音首字母组成。 |
AppName | 名称 | NVarChar(200) | Not null |
AppURL | 单点登录链接 | NVarChar(2000) | Not null |
AppDepart | 所属处室 | NVarChar(100) | Not null |
AppDescription | 描述 | NVarChar(2000) | |
AppSupport | 维护人员 | NVarChar(100) | |
AppLoginSave | 登录信息保存方式 | NVarChar(20) | 如Session,Cookie |
AppDatabase | 数据库连接字串 | NVarChar(200) | Not null |
AppMainURL | 主页登链 | NVarChar(2000) | 系统主页或者登录页面 |
1.3 应用系统登录用户表 AppsUsers
字段名 | 中文名称 | 字段类型 | 说明 |
AppUserId | 序号 | Int(4) | PK,自增 |
AppId | 应用系统标识 | NVarChar(50) | FK,对应表Apps |
ssoUserId | 单点登录帐号ID | NVarChar(50) | FK,对应表ssoUsers |
AppLoginId | 应用系统登录帐号 | NVarChar(200) | Not null |
1.4 AppToken
字段名 | 中文名称 | 字段类型 | 说明 |
AppTokenId | 序号 | Int(4) | PK,自增 |
Token | 令牌 | NVarChar(255) | Guid(),访问应用程序时建立的 |
AppName | 应用系统名称 | NVarChar(200) | Not null |
AppId | 应用系统标识 | NVarChar(50) | FK,Not null |
ssoUserId | SSO登录用户名ID | Int(4) | FK,Not null |
dtCreate | 令牌创建日期 | DateTime(8) | Getdate() |
2、各应用系统需修改的地方
2.1应用系统的登录信息变量保存
a.Session形式:把Session变量名称改成UserInfo_S00001形式,由SSO开发人员统一定制。
b.Cookie形式:把Cookie变量名称改成UserInfo_C00001形式,由SSO开发人员统一定制。
2.2帐号单一登录激活链接
各应用系统增加一个单一登录帐号激活按钮,链接指向单一登录帐号激活链接
3、SSO系统功能
3.1单一登录帐号激活
实现:
1) 待选应用系统列表中选择应用系统名称
2) 输入原应用系统用户名与密码
3) 激活
4) 重复操作完成所有应用系统单一登录帐号激活
3.2单一登录密码更改
实现:
1) 原应用系统密码更改,直接转到SSO系统密码更改。
2) 输入SSO旧密码与新密码
3) 更新用户能使用的所有应用系统的密码
3.3单一登录后,应用系统访问
实现:
1) 登录系统
2) 可以使用的应用程序列表
3) 单击其中应用程序链接,建立应用程序访问Token
4) 通过传入Token到应用系统的中间页(AppLogin.aspx)处理登录信息保存
5) 验证成功后转向实际应用系统主页