统一用户中心详细设计方案Word文档下载推荐.docx
- 文档编号:21752505
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:47
- 大小:292.30KB
统一用户中心详细设计方案Word文档下载推荐.docx
《统一用户中心详细设计方案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《统一用户中心详细设计方案Word文档下载推荐.docx(47页珍藏版)》请在冰豆网上搜索。
2.2系统帐号传递机制
在用户访问应用系统之前,由统一身份认证平台生成一次性的访问Ticket票据,并将Ticket提交给应用系统,应用系统请求统一身份认证平台验证Ticket有效性,之后返回认证结果和用户身份信息给应用系统。
应用系统根据验证结果确认用户身份,并分配用户权限。
Ticket默认有效时间5分钟,Ticket使用一次之后自动失效。
2.3登录界面
用户中心服务系统提供全平台唯一的登录界面
已经登录的用户访问登录页面将自动跳转到平台首页,不允许一个浏览器在未退出时登录另一个账户。
2.4功能说明
2.4.1单点登录
1.用户访问业务系统
如果业务系统session或登录缓存中判断用户没有登录,则控制客户端浏览器跳转到用户中心服务系统(UCS)的统一登录页面;
如果业务系统已经登录,则判断是否到达需要发送保持用户登录状态心跳包的时间,向认证服务器用户状态保持接口发送消息;
同时,业务服务器处理自有业务,响应用户。
2.用户在用户中心服务系统登录完毕,系统记录登录信息并将浏览器跳转到业务系统服务器回跳页面,并带上url参数ticket票据
3.业务服务器接收ticket参数向用户中心服务系统验证ticket合法性并获取用户信息和权限信息
4.业务系统获取到用户信息,将登录信息记录session或登录缓存,标识已经登录,并根据返回的权限信息检验用户是否有操作权限;
验证通过则执行相应业务操作
2.4.2会话保持
用户登录成功之后,被访问的业务系统需要在当前用户有访问请求时(在线状态)每间隔一段时间(默认3分钟)向用户中心服务系统提交用户在线状态信息。
保证认证服务中心能够感知到用户当前的活动状态。
认证服务中心在一定时间(默认30分钟)内没有检测到用户的活动信息则判定用户状态为下线。
将注销用户登录状态并通知所有业务系统注销该用户的登录状态。
2.4.3单点退出
与单点登录相对应,单点退出功能可以解决“单点登录”功能在方便用户的同时留下的安全隐患,用户在平台中主动下线或超时下线时,统一身份认证平台会向业务系统发起用户下线通知,告知业务系统,某用户已经下线,请销毁相关Session会话。
2.4.4组织架构同步
用户在门户系统注册,注册数据通过接口保存到用户中心服务系统;
全量同步
用户中心服务系统开通组织架构全量同步接口,提供给实时性要求不太高的子系统使用;
实时增量同步
在用户注册、信息变更、服务申请状态变化、删除等操作之后用户中心服务系统主动通知各个子系统变更的用户数据,提供给实时性要求高的子系统使用;
2.4.5消息推送
监听消息服务器中的消息数据,将各个子系统通过消息中心发出的通知消息推送给绑定的微信账号。
2.5数据结构
2.5.1表清单
名称
注释
T_COMPANY
公司表
T_DEPT
部门表
T_EMPL
员工信息
T_USER
用户信息
T_DICTIONARY
字典表
T_ATTACHMENT
附件表
UC_ACCOUNT
登录账号表
UC_APP
业务系统
UC_BUTTON
资源表
UC_DATA
数据表
UC_MENU
菜单表
UC_ROLE
角色表
UC_ROLE_COMPANY
角色公司关联表
UC_ROLE_BUTTON
角色资源关联表
UC_ROLE_DATA
角色数据关联表
UC_ROLE_EMPL
角色员工关联表
UC_ROLE_MENU
角色菜单关联表
2.5.2T_COMPANY公司表
类型
主键
外键
必填
COMPANY_ID
varchar(50)
TRUE
公司id
PARENT_ID
父id
COMPANY_NAME
varchar(200)
公司名称
COMPANY_CODE
公司编码
CREATE_TIME
datetime
创建时间
ZIP_CODE
公司邮编
ADDRESS
公司地址
公司邮箱
WEB_SITE
公司网址
FAX
传真
TEL
企业电话
BANK
varchar(100)
开户银行
BANK_ACCOUNT
银行账户
LEGAL_NAME
公司法人姓名
LEGAL_TEL
公司法人联系方式
2.5.3T_DEPT部门表
DEPT_ID
部门id
上级部门id
DEPT_NAME
部门名称
DEPT_CODE
部门编号
电话
邮编
varchar(500)
地址
2.5.4T_EMPL员工表
EMPL_ID
用户id
USER_ID
EMPL_CODE
员工编号
EMPL_POSITION
员工职位
ENTRY_TIME
入职时间
2.5.5T_USER用户表
ACCOUNT_ID
账号id
USER_NAME
姓名
SEX
numeric(1,0)
性别(1:
男,0:
女)
邮箱
MOBILE
手机号
IDCARD
身份证
2.5.6T_DICTIONARY字典表
DICTIONARY_ID
字典id
DICT_CODE
字典编码
PARENT_CODE
父编码
DICT_NAME
DICT_DESC
说明
2.5.7T_ATTACHMENT附件表
FILE_ID
附件id
GROUP_ID
附件组id
FILE_PATH
附件路径
FILE_NAME
附件文件名
FILE_SIZE
numeric(10,0)
附件大小
CREATE_USER
创建者
RECORD_TABLE
主记录所属表
2.5.8UC_ACCOUNT登录帐号表
ACCOUNT_NAME
登录名
ACCOUNT_PASSWORD
密码
IS_ENABLE
是否可用(0:
不可用,1:
可用)
OPEN_ID
微信id
IS_PLAT
是否平台用户
IS_SUPP
是否是供应商用户
IS_BUY
是否是采购商用户
ACCOUNT_TEL
ACCOUNT_EMAIL
2.5.9UC_APP业务系统表
APP_ID
业务系统id
APP_NAME
业务系统名称
SECRET_KEY
接入密钥
APP_LOGO
首页展示logo图片
INDEX_URL
首页地址
USER_NOTIFY_URL
用户信息变更通知地址
DEPT_NOTIFY_URL
组织信息变更通知地址
LOGOUT_NOTIFY_URL
单点退出通知地址
2.5.10UC_BUTTON业务系统资源表
BUTTON_ID
资源id
子系统id
BUTTON_CODE
资源编码
BUTTON_NAME
资源名称
BUTTON_CLASS
资源分类
ORDER_NUM
序号
2.5.11UC_DATA业务系统数据表
DATA_ID
DATA_CODE
数据编码
DATA_NAME
数据名称
DATA_CLASS
数据分类
DATA_EXPRESSION
varchar(2000)
数据sql
2.5.12UC_MENU业务系统菜单表
MENU_ID
MENU_NAME
菜单名称
MENU_ICON
图标
MENU_URL
numeric(2,0)
排序
2.5.13UC_ROLE业务系统角色表
ROLE_ID
角色id
创建公司id
ROLE_NAME
角色名称
2.5.14UC_ROLE_COMPANY角色公司关联表
2.5.15UC_ROLE_BUTTON角色资源关联表
2.5.16UC_ROLE_DATA角色数据关联表
数据id
2.5.17UC_ROLE_MENU角色菜单关联表
菜单id
2.5.18UC_ROLE_EMPL角色员工关联表
员工id
IS_GRANT
numeric
(1)
是否允许授予
2.6用户中心提供的接口
2.6.1通用接口调用方式
通信协议
HTTPPOST
请求格式
application/x-www-form-urlencoded
响应格式
application/json
公用请求参数
1
secret
String
加密验证参数
使用平台给业务系统分配的接口密钥secretKey与当前时间(yyyyMMddHHmmss格式)拼接之后使用AES加密,使用十六进制编码得到的字符串
响应结构
retCode
返回消息码
2
message
返回消息描述
3
result
JSON
JSON数据对象:
下列所有接口返回数据都在此字段下(无数据返回时,无此字段)
公用响应编码
编码
000000
成功
700000
接口令牌无效
800000
accessToken无效,没有相关用户信息
900000
异常
2.6.2sso.login登录
功能说明
接入方控制客户端浏览器跳转登录页面进行登录操作
发起方
客户端浏览器
请求方式
浏览器跳转
请求地址
/sso/login.do
请求参数
参数名
backurl
登录完成之后的回跳地,URLEncoder(utf-8)编码
响应
ticket
获取用户信息的凭证,一分钟过期,一次有效
请求示例
https:
//xxxxxx/sso/login.do?
backurl=http%3A%2F%2Fxxx%2Fmobile
响应示例
http:
//xxx/mobile?
ticket=0fff8d0f896e4b7094a7f98cfc35e4e9
2.6.3sso.validateticket校验
业务系统向用户中心服务系统校验登录ticket是否可用,并获取用户信息
业务服务器
接口地址
/sso/validate.do
Y
用户登录之后浏览器回跳地址中的ticket参数
appId
N
业务系统Id
4
onlySelfRole
Boolean
是否仅自有系统的权限列表
accesstoken
用户接口令牌,服务端调用接口时使用
user
Object
2.1
userId
2.2
userName
用户姓名
2.3
userType
Integer
用户类型,员工、供应商
2.4
companyId
2.5
deptId
2.6
services
Object[]
申请的服务数组
2.6.1
serviceCode
服务编号
2.6.2
serviceName
服务名
2.6.3
serviceStatus
服务状态(1:
待审核,2:
审核拒绝,3:
审核通过)
2.7
apps
业务系统列表
2.7.1
2.7.2
roles
角色数组,包含菜单权限,数据权限,资源权限
2.7.2.1
roleName
角色名
2.7.2.2
roleCode
角色编码
2.7.2.3
menus
String[]
菜单权限编号列表
2.7.2.4
datas
数据权限列表
2.7.2.4.1
dataCode
2.7.2.4.2
dataExpressio
数据SQL片段或表达式语句
2.7.2.5
buttons
资源权限编号列表
响应码表
ticket校验失败
服务端异常
2.6.4sso.keepAlive保持用户登录状态
保持用户登录状态
PORTAL、各个接入单点登录的子系统
/sso/keepAlive.do
accessToken
用户接口令牌
2.6.5sso.logout单点退出
退出登录
/sso/logout.do
acces
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统一 用户 中心 详细 设计方案