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) 验证成功后转向实际应用系统主页