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