统一用户中心详细设计方案Word格式.docx
《统一用户中心详细设计方案Word格式.docx》由会员分享,可在线阅读,更多相关《统一用户中心详细设计方案Word格式.docx(52页珍藏版)》请在冰豆网上搜索。
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获取页面统一样式21
2.6.7account.checkAccount检查帐号是否可用22
2.6.8account.updatePwd用户修改密码23
2.6.9account.resetPwd忘记密码23
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查询用户权限27
2.6.16user.findRoleByAccessToken根据AccessToken查询用户权限28
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)32
3.1应用项目管理33
3.1.1基本信息管理33
3.1.2菜单管理33
3.1.3数据项管理34
3.1.4资源项管理34
3.1.5角色管理34
3.1.6角色权限管理35
3.2企业管理35
3.2.1企业列表35
3.2.2企业信息维护35
3.3部门管理36
3.3.1部门列表36
3.3.2部门编辑36
3.4供应商内部权限管理36
3.4.1角色列表36
3.4.2角色权限关联36
3.5员工管理36
3.5.1员工列表37
3.5.2员工删除37
3.5.3修改密码37
3.5.4用户锁定37
3.5.5员工编辑37
3.5.6角色授予38
4门户系统(Portal)38
4.1用户登录38
4.1.1登录页面38
4.1.2单点登录38
4.1.3会话保持38
4.1.4单点退出39
4.2用户主页39
4.2.1主页界面39
4.2.2导航菜单39
4.3用户注册39
4.4个人信息管理39
4.5页面集成方式40
4.6消息服务集成40
5微信服务号接入40
5.1微信绑定40
5.2微信消息推送40
6业务子系统接入40
6.1操作流程40
6.2需要实现的接口41
6.2.1单点登录42
6.2.2会话保持42
6.2.3单点退出42
6.2.4组织架构、用户同步42
6.2.5菜单权限42
6.2.6数据权限43
6.2.7资源权限43
6.2.8消息通知43
6.3针对Java应用环境的封装43
6.3.1主要功能43
6.3.2过滤器配置说明44
6.3.3单机环境配置46
6.3.4分布式环境配置46
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
公司id
PARENT_ID
父id
COMPANY_NAME
varchar(200)
公司名称
COMPANY_CODE
公司编码
CREATE_TIME
datetime
创建时间
ZIP_CODE
公司邮编
ADDRESS
公司地址
EMAIL
公司邮箱
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.