统一用户中心详细设计方案.docx
- 文档编号:3792328
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:46
- 大小:490.52KB
统一用户中心详细设计方案.docx
《统一用户中心详细设计方案.docx》由会员分享,可在线阅读,更多相关《统一用户中心详细设计方案.docx(46页珍藏版)》请在冰点文库上搜索。
..
统一用户中心
详细设计报告
制作人:
日期:
2018-01版本:
1.1
目录
1系统结构 6
1.1用户中心服务系统(UCS) 6
1.2用户中心管理系统(UMS) 6
1.3门户系统(Portal) 7
1.4业务子系统接入 7
2用户中心服务系统(UCS) 8
2.1用户中心服务系统安全性要求 8
2.2系统帐号传递机制 8
2.3登录界面 8
2.4功能说明 9
2.4.1单点登录 9
2.4.2会话保持 10
2.4.3单点退出 10
2.4.4组织架构同步 11
2.4.5消息推送 11
2.5数据结构 11
2.5.1表清单 12
2.5.2T_COMPANY公司表 12
2.5.3T_DEPT部门表 13
2.5.4T_EMPL员工表 13
2.5.5T_USER用户表 13
2.5.6T_DICTIONARY字典表 14
2.5.7T_ATTACHMENT附件表 14
2.5.8UC_ACCOUNT登录帐号表 14
2.5.9UC_APP业务系统表 15
2.5.10UC_BUTTON业务系统资源表 15
2.5.11UC_DATA业务系统数据表 15
2.5.12UC_MENU业务系统菜单表 16
2.5.13UC_ROLE业务系统角色表 16
2.5.14UC_ROLE_COMPANY角色公司关联表 16
2.5.15UC_ROLE_BUTTON角色资源关联表 16
2.5.16UC_ROLE_DATA角色数据关联表 17
2.5.17UC_ROLE_MENU角色菜单关联表 17
2.5.18UC_ROLE_EMPL角色员工关联表 17
2.6用户中心提供的接口 17
2.6.1通用接口调用方式 17
2.6.2sso.login登录 18
2.6.3sso.validateticket校验 19
2.6.4sso.keepAlive保持用户登录状态 20
2.6.5sso.logout单点退出 21
2.6.6portal.getPageMould获取页面统一样式 22
2.6.7account.checkAccount检查帐号是否可用 22
2.6.8account.updatePwd用户修改密码 23
2.6.9account.resetPwd忘记密码 24
2.6.10user.reg用户注册 24
2.6.11user.update用户修改 25
2.6.12user.findByAccessToken根据AccessToken获取用户信息 26
2.6.13user.findByParentId根据组织架构id获取用户信息 26
2.6.14user.findAll查询所有用户信息 27
2.6.15user.findRoleByUserId根据用户id查询用户权限 28
2.6.16user.findRoleByAccessToken根据AccessToken查询用户权限 29
2.6.17org.getDeptsByParentId获取组织机构信息 29
2.7业务子系统需要实现的接口 30
2.7.1sso.logoutNotify用户退出通知 30
2.7.2user.updateNotify用户信息变更通知 31
2.7.3org.updateNotify组织架构信息变更通知 32
3用户中心管理系统(UMS) 33
3.1应用项目管理 33
3.1.1基本信息管理 33
3.1.2菜单管理 35
3.1.3数据项管理 35
3.1.4资源项管理 36
3.1.5角色管理 37
3.1.6角色权限管理 39
3.2企业管理 40
3.2.1企业列表 40
3.2.2企业信息维护 41
3.3部门管理 41
3.3.1部门列表 42
3.3.2部门编辑 42
3.4供应商内部权限管理 43
3.4.1角色列表 43
3.4.2角色权限关联 43
3.5员工管理 45
3.5.1员工列表 45
3.5.2员工删除 46
3.5.3修改密码 46
3.5.4用户锁定 46
3.5.5员工编辑 46
3.5.6角色授予 47
4门户系统(Portal) 47
4.1用户登录 47
4.1.1登录页面 48
4.1.2单点登录 48
4.1.3会话保持 48
4.1.4单点退出 48
4.2用户主页 48
4.2.1主页界面 49
4.2.2导航菜单 49
4.3用户注册 49
4.4个人信息管理 50
4.5页面集成方式 50
4.6平台服务集成 50
4.7消息服务集成 50
5微信服务号接入 51
5.1微信绑定 51
5.2微信消息推送 51
6业务子系统接入 52
6.1操作流程 52
6.2需要实现的接口 53
6.2.1单点登录 53
6.2.2会话保持 54
6.2.3单点退出 54
6.2.4组织架构、用户同步 54
6.2.5菜单权限 54
6.2.6数据权限 55
6.2.7资源权限 55
6.2.8消息通知 55
6.3针对Java应用环境的封装 55
6.3.1主要功能 55
6.3.2过滤器配置说明 56
6.3.3单机环境配置 58
6.3.4分布式环境配置 58
1系统结构
1.1用户中心服务系统(UCS)
提供平台登录界面;
提供单点登录、单点退出、会话保持服务,并在传统CAS服务的功能上增加用户角色权限控制;
提供第三方应用接入相关接口;
提供用户、组织机构、权限相关接口;
提供提醒消息服务的集成,允许业务子系统存储提醒消息,以及同步业务子系统自有消息模块中的消息
1.2用户中心管理系统(UMS)
Ø统一用户管理
使用统一身份认证平台的所有业务应用系统的全部用户,用户身份信息支持LDAP和数据库的同时存储。
Ø统一角色管理
管理统一身份认证平台本身和平台中所有应用系统中需要使用到的角色信息,系统通过用户、角色、权限机制,以及角色、用户、权限批量处理机制,极大地方便了用户的权限分配。
Ø统一应用管理
管理纳入统一身份认证平台的各应用系统的应用功能点和应用权限。
Ø统一授权管理
实现用户与角色、角色与功能的对应管理,实现菜单权限、数据权限、资源权限等多种权限分发管理。
同时,实现权限策略的定制和调用,便于实现与应用流程的紧密结合。
1.3门户系统(Portal)
平台主页,按角色权限提供平台整合的所有资源的入口;
提供用户自身基本信息查看与维护功能;
服务申请审批通过之后通知用户中心服务系统
实现消息通知的接入;
实现微信账号绑定,微信消息推送;
1.4业务子系统接入
实现单点登录、单点退出、会话保持的接入;
用户信息实时或定时从用户中心服务系统同步;
实现菜单权限控制接入;
实现数据权限控制接入;
实现资源权限控制接入;
实现消息中心接入;
2用户中心服务系统(UCS)
平台SSO单点登录基于标准CAS认证流程,并优化超时验证流程,增加用户权限信息。
2.1用户中心服务系统安全性要求
用户中心服务系统可以使用HTTPS方式提供服务
业务系统与认证服务器之间接口调用采用参数密钥校验
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
TRUE
公司id
PARENT_ID
varchar(50)
父id
COMPANY_NAME
varchar(200)
公司名称
COMPANY_CODE
varchar(200)
公司编码
CREATE_TIME
datetime
创建时间
ZIP_CODE
varchar(50)
公司邮编
ADDRESS
varchar(200)
公司地址
varchar(50)
公司邮箱
WEB_SITE
varchar(200)
公司网址
FAX
varchar(50)
传真
TEL
varchar(50)
企业电话
BANK
varchar(100)
开户银行
BANK_ACCOUNT
varchar(50)
银行账户
LEGAL_NAME
varchar(50)
公司法人姓名
LEGAL_TEL
varchar(50)
公司法人联系方式
2.5.3T_DEPT部门表
名称
类型
主键
外键
必填
注释
DEPT_ID
varchar(50)
TRUE
TRUE
部门id
PARENT_ID
varchar(50)
上级部门id
COMPANY_ID
varchar(50)
TRUE
公司id
DEPT_NAME
varchar(200)
部门名称
CREATE_TIME
datetime
创建时间
DEPT_CODE
varchar(200)
部门编号
TEL
varchar(50)
电话
FAX
varchar(50)
传真
ZIP_CODE
varchar(50)
邮编
ADDRESS
varchar(500)
地址
2.5.4T_EMPL员工表
名称
类型
主键
外键
必填
注释
EMPL_ID
varchar(50)
TRUE
TRUE
用户id
USER_ID
varchar(50)
TRUE
用户id
COMPANY_ID
varchar(50)
TRUE
公司id
DEPT_ID
varchar(50)
TRUE
部门id
CREATE_TIME
datetime
创建时间
EMPL_CODE
varchar(50)
员工编号
EMPL_POSITION
varchar(50)
员工职位
ENTRY_TIME
datetime
入职时间
2.5.5T_USER用户表
名称
类型
主键
外键
必填
注释
USER_ID
varchar(50)
TRUE
TRUE
用户id
ACCOUNT_ID
varchar(50)
TRUE
账号id
USER_NAME
varchar(100)
姓名
CREATE_TIME
datetime
创建时间
SEX
numeric(1,0)
性别(1:
男,0:
女)
varchar(50)
邮箱
MOBILE
varchar(50)
手机号
IDCARD
varchar(50)
身份证
2.5.6T_DICTIONARY字典表
名称
类型
主键
外键
必填
注释
DICTIONARY_ID
varchar(50)
TRUE
TRUE
字典id
DICT_CODE
varchar(50)
字典编码
PARENT_CODE
varchar(50)
父编码
DICT_NAME
varchar(100)
名称
DICT_DESC
varchar(500)
说明
2.5.7T_ATTACHMENT附件表
名称
类型
主键
外键
必填
注释
FILE_ID
varchar(50)
TRUE
TRUE
附件id
GROUP_ID
varchar(50)
附件组id
FILE_PATH
varchar(500)
附件路径
FILE_NAME
varchar(500)
附件文件名
FILE_SIZE
numeric(10,0)
附件大小
CREATE_TIME
datetime
创建时间
CREATE_USER
varchar(50)
创建者
RECORD_TABLE
varchar(100)
主记录所属表
2.5.8UC_ACCOUNT登录帐号表
名称
类型
主键
外键
必填
注释
ACCOUNT_ID
varchar(50)
TRUE
TRUE
账号id
ACCOUNT_NAME
varchar(50)
登录名
ACCOUNT_PASSWORD
varchar(200)
密码
IS_ENABLE
numeric(1,0)
是否可用(0:
不可用,1:
可用)
CREATE_TIME
datetime
创建时间
OPEN_ID
varchar(50)
微信id
IS_PLAT
numeric(1,0)
是否平台用户
IS_SUPP
numeric(1,0)
是否是供应商用户
IS_BUY
numeric(1,0)
是否是采购商用户
ACCOUNT_TEL
varchar(50)
ACCOUNT_EMAIL
varchar(50)
2.5.9UC_APP业务系统表
名称
类型
主键
外键
必填
注释
APP_ID
varchar(50)
TRUE
TRUE
业务系统id
APP_NAME
varchar(200)
业务系统名称
SECRET_KEY
varchar(200)
接入密钥
APP_LOGO
varchar(200)
首页展示logo图片
INDEX_URL
varchar(200)
首页地址
USER_NOTIFY_URL
varchar(200)
用户信息变更通知地址
DEPT_NOTIFY_URL
varchar(200)
组织信息变更通知地址
LOGOUT_NOTIFY_URL
varchar(200)
单点退出通知地址
2.5.10UC_BUTTON业务系统资源表
名称
类型
主键
外键
必填
注释
BUTTON_ID
varchar(50)
TRUE
TRUE
资源id
APP_ID
varchar(50)
TRUE
子系统id
BUTTON_CODE
varchar(100)
资源编码
BUTTON_NAME
varchar(200)
资源名称
BUTTON_CLASS
varchar(200)
资源分类
ORDER_NUM
numeric(10,0)
序号
2.5.11UC_DATA业务系统数据表
名称
类型
主键
外键
必填
注释
DATA_ID
varchar(50)
TRUE
TRUE
APP_ID
varchar(50)
TRUE
子系统id
DATA_CODE
varchar(100)
数据编码
DATA_NAME
varchar(200)
数据名称
DATA_CLASS
varchar(200)
数据分类
DATA_EXPRESSION
varchar(2000)
数据sql
ORDER_NUM
numeric(10,0)
序号
2.5.12UC_MENU业务系统菜单表
名称
类型
主键
外键
必填
注释
MENU_ID
varchar(50)
TRUE
TRUE
APP_ID
varchar(50)
TRUE
TRUE
子系统id
PARENT_ID
varchar(50)
TRUE
父id
MENU_NAME
varchar(100)
菜单名称
MENU_ICON
varchar(100)
图标
MENU_URL
varchar(200)
地址
ORDER_NUM
numeric(2,0)
排序
2.5.13UC_ROLE业务系统角色表
名称
类型
主键
外键
必填
注释
ROLE_ID
varchar(50)
TRUE
TRUE
角色id
APP_ID
varchar(50)
TRUE
TRUE
子系统id
COMPANY_ID
varchar(50)
TRUE
创建公司id
ROLE_NAME
varchar(100)
角色名称
2.5.14UC_ROLE_COMPANY角色公司关联表
名称
类型
主键
外键
必填
注释
ROLE_ID
varchar(50)
TRUE
TRUE
TRUE
角色id
COMPANY_ID
varchar(50)
TRUE
TRUE
TRUE
公司id
2.5.15UC_ROLE_BUTTON角色资源关联表
名称
类型
主键
外键
必填
注释
BUTTON_ID
varchar(50)
TRUE
TRUE
TRUE
资源id
ROLE_ID
varchar(50)
TRUE
TRUE
TRUE
角色id
2.5.16UC_ROLE_DATA角色数据关联表
名称
类型
主键
外键
必填
注释
DATA_ID
varchar(50)
TRUE
TRUE
TRUE
数据id
ROLE_ID
varchar(50)
TRUE
TRUE
TRUE
角色id
2.5.17UC_ROLE_MENU角色菜单关联表
名称
类型
主键
外键
必填
注释
MENU_ID
varchar(50)
TRUE
TRUE
TRUE
菜单id
ROLE_ID
varchar(50)
TRUE
TRUE
TRUE
角色id
2.5.18UC_ROLE_EMPL角色员工关联表
名称
类型
主键
外键
必填
注释
ROLE_ID
varchar(50)
TRUE
TRUE
TRUE
角色id
EMPL_ID
varchar(50)
TRUE
TRUE
TRUE
员工id
IS_GRANT
numeric
(1)
TRUE
是否允许授予
2.6用户中心提供的接口
2.6.1通用接口调用方式
Ø通信协议
HTTPPOST
Ø请求格式
application/x-www-form-urlencoded
Ø响应格式
application/json
Ø公用请求参数
序号
名称
必填
类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统一 用户 中心 详细 设计方案
![提示](https://static.bingdoc.com/images/bang_tan.gif)