1、统一用户中心详细设计方案统一用户中心详细设计报告制 作 人: 日 期:2018-01 版 本:1 系统结构 61.1 用户中心服务系统(UCS) 61.2 用户中心管理系统(UMS) 61.3 门户系统(Portal) 71.4 业务子系统接入 72 用户中心服务系统(UCS) 72.1 用户中心服务系统安全性要求 82.2 系统帐号传递机制 82.3 登录界面 82.4 功能说明 82.4.1 单点登录 92.4.2 会话保持 102.4.3 单点退出 102.4.4 组织架构同步 112.4.5 消息推送 112.5 数据结构 112.5.1 表清单 122.5.2 T_COMPANY 公
2、司表 122.5.3 T_DEPT 部门表 132.5.4 T_EMPL 员工表 132.5.5 T_USER 用户表 132.5.6 T_DICTIONARY 字典表 142.5.7 T_ATTACHMENT 附件表 142.5.8 UC_ACCOUNT 登录帐号表 142.5.9 UC_APP 业务系统表 152.5.10 UC_BUTTON 业务系统资源表 152.5.11 UC_DATA 业务系统数据表 152.5.12 UC_MENU 业务系统菜单表 162.5.13 UC_ROLE 业务系统角色表 162.5.14 UC_ROLE_COMPANY 角色公司关联表 162.5.15
3、UC_ROLE_BUTTON 角色资源关联表 162.5.16 UC_ROLE_DATA 角色数据关联表 172.5.17 UC_ROLE_MENU 角色菜单关联表 172.5.18 UC_ROLE_EMPL 角色员工关联表 172.6 用户中心提供的接口 172.6.1 通用接口调用方式 172.6.2 登录 182.6.3 ticket校验 192.6.4 保持用户登录状态 202.6.5 单点退出 212.6.6 获取页面统一样式 212.6.7 检查帐号是否可用 222.6.8 用户修改密码 232.6.9 忘记密码 232.6.10 用户注册 242.6.11 用户修改 252.6.
4、12 根据AccessToken获取用户信息 262.6.13 根据组织架构id获取用户信息 262.6.14 查询所有用户信息 272.6.15 根据用户id查询用户权限 272.6.16 根据AccessToken查询用户权限 282.6.17 获取组织机构信息 292.7 业务子系统需要实现的接口 302.7.1 用户退出通知 302.7.2 用户信息变更通知 312.7.3 组织架构信息变更通知 323 用户中心管理系统(UMS) 323.1 应用项目管理 333.1.1 基本信息管理 333.1.2 菜单管理 333.1.3 数据项管理 343.1.4 资源项管理 343.1.5 角
5、色管理 343.1.6 角色权限管理 353.2 企业管理 353.2.1 企业列表 353.2.2 企业信息维护 353.3 部门管理 363.3.1 部门列表 363.3.2 部门编辑 363.4 供应商内部权限管理 363.4.1 角色列表 363.4.2 角色权限关联 363.5 员工管理 363.5.1 员工列表 373.5.2 员工删除 373.5.3 修改密码 373.5.4 用户锁定 373.5.5 员工编辑 373.5.6 角色授予 384 门户系统(Portal) 384.1 用户登录 384.1.1 登录页面 384.1.2 单点登录 384.1.3 会话保持 384.1
6、.4 单点退出 394.2 用户主页 394.2.1 主页界面 394.2.2 导航菜单 394.3 用户注册 394.4 个人信息管理 394.5 页面集成方式 404.6 消息服务集成 405 微信服务号接入 405.1 微信绑定 405.2 微信消息推送 406 业务子系统接入 406.1 操作流程 406.2 需要实现的接口 416.2.1 单点登录 426.2.2 会话保持 426.2.3 单点退出 426.2.4 组织架构、用户同步 426.2.5 菜单权限 426.2.6 数据权限 436.2.7 资源权限 436.2.8 消息通知 436.3 针对Java应用环境的封装 436
7、.3.1 主要功能 436.3.2 过滤器配置说明 446.3.3 单机环境配置 466.3.4 分布式环境配置 461 系统结构1.1 用户中心服务系统(UCS)提供平台登录界面;提供单点登录、单点退出、会话保持服务,并在传统CAS服务的功能上增加用户角色权限控制;提供第三方应用接入相关接口;提供用户、组织机构、权限相关接口;提供提醒消息服务的集成,允许业务子系统存储提醒消息,以及同步业务子系统自有消息模块中的消息1.2 用户中心管理系统(UMS)统一用户管理使用统一身份认证平台的所有业务应用系统的全部用户,用户身份信息支持LDAP和数据库的同时存储。统一角色管理管理统一身份认证平台本身和平
8、台中所有应用系统中需要使用到的角色信息,系统通过用户、角色、权限机制,以及角色、用户、权限批量处理机制, 极大地方便了用户的权限分配。统一应用管理管理纳入统一身份认证平台的各应用系统的应用功能点和应用权限。统一授权管理实现用户与角色、角色与功能的对应管理,实现菜单权限、数据权限、资源权限等多种权限分发管理。同时,实现权限策略的定制和调用,便于实现与应用流程的紧密结合。1.3 门户系统(Portal)平台主页,按角色权限提供平台整合的所有资源的入口;提供用户自身基本信息查看与维护功能;服务申请审批通过之后通知用户中心服务系统实现消息通知的接入;实现微信账号绑定,微信消息推送;1.4 业务子系统接
9、入实现单点登录、单点退出、会话保持的接入;用户信息实时或定时从用户中心服务系统同步;实现菜单权限控制接入;实现数据权限控制接入;实现资源权限控制接入;实现消息中心接入;2 用户中心服务系统(UCS)平台SSO单点登录基于标准CAS认证流程,并优化超时验证流程,增加用户权限信息。2.1 用户中心服务系统安全性要求用户中心服务系统可以使用HTTPS方式提供服务业务系统与认证服务器之间接口调用采用参数密钥校验2.2 系统帐号传递机制在用户访问应用系统之前,由统一身份认证平台生成一次性的访问Ticket票据,并将Ticket提交给应用系统,应用系统请求统一身份认证平台验证Ticket有效性,之后返回认
10、证结果和用户身份信息给应用系统。应用系统根据验证结果确认用户身份,并分配用户权限。Ticket默认有效时间5分钟,Ticket使用一次之后自动失效。2.3 登录界面用户中心服务系统提供全平台唯一的登录界面 已经登录的用户访问登录页面将自动跳转到平台首页,不允许一个浏览器在未退出时登录另一个账户。2.4 功能说明2.4.1 单点登录 1.用户访问业务系统如果业务系统session或登录缓存中判断用户没有登录,则控制客户端浏览器跳转到用户中心服务系统(UCS)的统一登录页面;如果业务系统已经登录,则判断是否到达需要发送保持用户登录状态心跳包的时间,向认证服务器用户状态保持接口发送消息;同时,业务服
11、务器处理自有业务,响应用户。2.用户在用户中心服务系统登录完毕,系统记录登录信息并将浏览器跳转到业务系统服务器回跳页面,并带上url参数ticket票据3.业务服务器接收ticket参数向用户中心服务系统验证ticket合法性并获取用户信息和权限信息4.业务系统获取到用户信息,将登录信息记录session或登录缓存,标识已经登录,并根据返回的权限信息检验用户是否有操作权限;验证通过则执行相应业务操作2.4.2 会话保持用户登录成功之后,被访问的业务系统需要在当前用户有访问请求时(在线状态)每间隔一段时间(默认3分钟)向用户中心服务系统提交用户在线状态信息。保证认证服务中心能够感知到用户当前的活
12、动状态。认证服务中心在一定时间(默认30分钟)内没有检测到用户的活动信息则判定用户状态为下线。将注销用户登录状态并通知所有业务系统注销该用户的登录状态。2.4.3 单点退出与单点登录相对应,单点退出功能可以解决“单点登录”功能在方便用户的同时留下的安全隐患,用户在平台中主动下线或超时下线时,统一身份认证平台会向业务系统发起用户下线通知,告知业务系统,某用户已经下线,请销毁相关Session会话。2.4.4 组织架构同步用户在门户系统注册,注册数据通过接口保存到用户中心服务系统;全量同步用户中心服务系统开通组织架构全量同步接口,提供给实时性要求不太高的子系统使用;实时增量同步在用户注册、信息变更
13、、服务申请状态变化、删除等操作之后用户中心服务系统主动通知各个子系统变更的用户数据,提供给实时性要求高的子系统使用;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
14、_BUTTON角色资源关联表UC_ROLE_DATA角色数据关联表UC_ROLE_EMPL角色员工关联表UC_ROLE_MENU角色菜单关联表2.5.2 T_COMPANY 公司表名称类型主键外键必填注释COMPANY_IDvarchar(50)TRUETRUE公司idPARENT_IDvarchar(50)父idCOMPANY_NAMEvarchar(200)公司名称COMPANY_CODEvarchar(200)公司编码CREATE_TIMEdatetime创建时间ZIP_CODEvarchar(50)公司邮编ADDRESSvarchar(200)公司地址EMAILvarchar(50)公
15、司邮箱WEB_SITEvarchar(200)公司网址FAXvarchar(50)传真TELvarchar(50)企业电话BANKvarchar(100)开户银行BANK_ACCOUNTvarchar(50)银行账户LEGAL_NAMEvarchar(50)公司法人姓名LEGAL_TELvarchar(50)公司法人联系方式2.5.3 T_DEPT 部门表名称类型主键外键必填注释DEPT_IDvarchar(50)TRUETRUE部门idPARENT_IDvarchar(50)上级部门idCOMPANY_IDvarchar(50)TRUE公司idDEPT_NAMEvarchar(200)部门名
16、称CREATE_TIMEdatetime创建时间DEPT_CODEvarchar(200)部门编号TELvarchar(50)电话FAXvarchar(50)传真ZIP_CODEvarchar(50)邮编ADDRESSvarchar(500)地址2.5.4 T_EMPL 员工表名称类型主键外键必填注释EMPL_IDvarchar(50)TRUETRUE用户idUSER_IDvarchar(50)TRUE用户idCOMPANY_IDvarchar(50)TRUE公司idDEPT_IDvarchar(50)TRUE部门idCREATE_TIMEdatetime创建时间EMPL_CODEvarcha
17、r(50)员工编号EMPL_POSITIONvarchar(50)员工职位ENTRY_TIMEdatetime入职时间2.5.5 T_USER 用户表名称类型主键外键必填注释USER_IDvarchar(50)TRUETRUE用户idACCOUNT_IDvarchar(50)TRUE账号idUSER_NAMEvarchar(100)姓名CREATE_TIMEdatetime创建时间SEXnumeric(1,0)性别( 1:男,0:女)EMAILvarchar(50)邮箱MOBILEvarchar(50)手机号IDCARDvarchar(50)身份证2.5.6 T_DICTIONARY 字典表名
18、称类型主键外键必填注释DICTIONARY_IDvarchar(50)TRUETRUE字典idDICT_CODEvarchar(50)字典编码PARENT_CODEvarchar(50)父编码DICT_NAMEvarchar(100)名称DICT_DESCvarchar(500)说明2.5.7 T_ATTACHMENT 附件表名称类型主键外键必填注释FILE_IDvarchar(50)TRUETRUE附件idGROUP_IDvarchar(50)附件组idFILE_PATHvarchar(500)附件路径FILE_NAMEvarchar(500)附件文件名FILE_SIZEnumeric(10
19、,0)附件大小CREATE_TIMEdatetime创建时间CREATE_USERvarchar(50)创建者RECORD_TABLEvarchar(100)主记录所属表2.5.8 UC_ACCOUNT 登录帐号表名称类型主键外键必填注释ACCOUNT_IDvarchar(50)TRUETRUE账号idACCOUNT_NAMEvarchar(50)登录名ACCOUNT_PASSWORDvarchar(200)密码IS_ENABLEnumeric(1,0)是否可用(0:不可用,1:可用)CREATE_TIMEdatetime创建时间OPEN_IDvarchar(50)IS_PLATnumeric
20、(1,0)是否平台用户IS_SUPPnumeric(1,0)是否是供应商用户IS_BUYnumeric(1,0)是否是采购商用户ACCOUNT_TELvarchar(50)ACCOUNT_EMAILvarchar(50)2.5.9 UC_APP 业务系统表名称类型主键外键必填注释APP_IDvarchar(50)TRUETRUE业务系统idAPP_NAMEvarchar(200)业务系统名称SECRET_KEYvarchar(200)接入密钥APP_LOGOvarchar(200)首页展示logo图片INDEX_URLvarchar(200)首页地址USER_NOTIFY_URLvarchar
21、(200)用户信息变更通知地址DEPT_NOTIFY_URLvarchar(200)组织信息变更通知地址LOGOUT_NOTIFY_URLvarchar(200)单点退出通知地址2.5.10 UC_BUTTON 业务系统资源表名称类型主键外键必填注释BUTTON_IDvarchar(50)TRUETRUE资源idAPP_IDvarchar(50)TRUE子系统idBUTTON_CODEvarchar(100)资源编码BUTTON_NAMEvarchar(200)资源名称BUTTON_CLASSvarchar(200)资源分类ORDER_NUMnumeric(10,0)序号2.5.11 UC_D
22、ATA 业务系统数据表名称类型主键外键必填注释DATA_IDvarchar(50)TRUETRUEAPP_IDvarchar(50)TRUE子系统idDATA_CODEvarchar(100)数据编码DATA_NAMEvarchar(200)数据名称DATA_CLASSvarchar(200)数据分类DATA_EXPRESSIONvarchar(2000)数据sqlORDER_NUMnumeric(10,0)序号2.5.12 UC_MENU 业务系统菜单表名称类型主键外键必填注释MENU_IDvarchar(50)TRUETRUEAPP_IDvarchar(50)TRUETRUE子系统idPA
23、RENT_IDvarchar(50)TRUE父idMENU_NAMEvarchar(100)菜单名称MENU_ICONvarchar(100)图标MENU_URLvarchar(200)地址ORDER_NUMnumeric(2,0)排序2.5.13 UC_ROLE 业务系统角色表名称类型主键外键必填注释ROLE_IDvarchar(50)TRUETRUE角色idAPP_IDvarchar(50)TRUETRUE子系统idCOMPANY_IDvarchar(50)TRUE创建公司idROLE_NAMEvarchar(100)角色名称2.5.14 UC_ROLE_COMPANY 角色公司关联表名称
24、类型主键外键必填注释ROLE_IDvarchar(50)TRUETRUETRUE角色idCOMPANY_IDvarchar(50)TRUETRUETRUE公司id2.5.15 UC_ROLE_BUTTON 角色资源关联表名称类型主键外键必填注释BUTTON_IDvarchar(50)TRUETRUETRUE资源idROLE_IDvarchar(50)TRUETRUETRUE角色id2.5.16 UC_ROLE_DATA 角色数据关联表名称类型主键外键必填注释DATA_IDvarchar(50)TRUETRUETRUE数据idROLE_IDvarchar(50)TRUETRUETRUE角色id2
25、.5.17 UC_ROLE_MENU 角色菜单关联表名称类型主键外键必填注释MENU_IDvarchar(50)TRUETRUETRUE菜单idROLE_IDvarchar(50)TRUETRUETRUE角色id2.5.18 UC_ROLE_EMPL 角色员工关联表名称类型主键外键必填注释ROLE_IDvarchar(50)TRUETRUETRUE角色idEMPL_IDvarchar(50)TRUETRUETRUE员工idIS_GRANTnumeric(1)TRUE是否允许授予2.6 用户中心提供的接口2.6.1 通用接口调用方式通信协议HTTP POST请求格式application/x-www-form-urlencoded响应格式application/json公用请求参数序号名称必填类型说明1secretString加密验证参数使用平台给业务系统分配的接口密钥secretKey与当前时间(yyyyMMddHHmmss格式)拼接之后使用AES加密,使用十六进制编码得到的字符串响应结构序号名称类型说明1retCodeString返回消息码2messageString返回消息描述3resultJSONJSON数据对象:下
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1