统一用户中心详细方案设计_第1页
统一用户中心详细方案设计_第2页
统一用户中心详细方案设计_第3页
统一用户中心详细方案设计_第4页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用文档统一用户中心详细设计报告制 作 人:日期: 2018-01版本: 1.1实用文档目录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 公司表 .122.5.3 T_DEPT部门表132.5.4 T

2、_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 业务系统菜单表. 16实用文档2.5.13 UC_ROLE 业务系统角色表 .162.5.14 UC_ROLE_COMPANY角色公司关联表 .162.5.15 UC_ROLE_BUTTON角色资源关联表 .162.5.

3、16 UC_ROLE_DATA 角色数据关联表 .162.5.17 UC_ROLE_MENU角色菜单关联表 .172.5.18 UC_ROLE_EMPL 角色员工关联表 .172.6用户中心提供的接口 .172.6.1通用接口调用方式 .172.6.2 sso.login登录 .182.6.3 sso.validate ticket校验 .192.6.4 sso.keepAlive保持用户登录状态 . .202.6.5 sso.logout单点退出 .212.6.6 portal.getPageMould获取页面统一样式 .212.6.7 account.checkAccount检查帐号是否可

4、用 .222.6.8 account.updatePwd用户修改密码 . .232.6.9 account.resetPwd忘记密码 .232.6.10 user.reg用户注册 . .242.6.11 user.update用户修改 .252.6.12 user.findByAccessToken根据 AccessToken 获取用户信息 .252.6.13 user.findByParentId根据组织架构 id 获取用户信息 .262.6.14 user.findAll查询所有用户信息 .272.6.15 user.findRoleByUserId根据用户 id 查询用户权限. .272

5、.6.16 user.findRoleByAccessToken根据 AccessToken 查询用户权限 .282.6.17 org.getDeptsByParentId获取组织机构信息 .292.7业务子系统需要实现的接口 .292.7.1 sso.logoutNotify用户退出通知 .302.7.2 user.updateNotify用户信息变更通知 .302.7.3 org.updateNotify组织架构信息变更通知 .313 用户中心管理系统( UMS) .323.1应用项目管理. 32实用文档3.1.1基本信息管理323.1.2菜单管理333.1.3数据项管理343.1.4资源

6、项管理343.1.5角色管理343.1.6角色权限管理343.2企业管理353.2.1企业列表353.2.2企业信息维护353.3部门管理353.3.1部门列表353.3.2部门编辑353.4供应商内部权限管理.363.4.1角色列表363.4.2角色权限关联363.5员工管理363.5.1员工列表363.5.2员工删除363.5.3修改密码373.5.4用户锁定373.5.5员工编辑373.5.6角色授予374 门户系统( Portal )374.1用户登录374.1.1登录页面384.1.2单点登录384.1.3会话保持384.1.4单点退出384.2用户主页384.2.1主页界面 . 3

7、8实用文档4.2.2导航菜单394.3用户注册394.4个人信息管理394.5页面集成方式394.6平台服务集成错误!未定义书签。4.7消息服务集成395 微信服务号接入395.1微信绑定405.2微信消息推送406 业务子系统接入406.1操作流程406.2需要实现的接口416.2.1单点登录416.2.2会话保持416.2.3单点退出416.2.4组织架构、用户同步.426.2.5菜单权限426.2.6数据权限426.2.7资源权限426.2.8消息通知436.3针对 Java 应用环境的封装436.3.1主要功能436.3.2过滤器配置说明436.3.3单机环境配置466.3.4分布式环

8、境配置46实用文档1 系统结构1.1 用户中心服务系统( UCS)提供平台登录界面;提供单点登录、 单点退出、 会话保持服务, 并在传统CAS服务的功能上增加用户角色权限控制;提供第三方应用接入相关接口;提供用户、组织机构、权限相关接口;提供提醒消息服务的集成,允许业务子系统存储提醒消息,以及同步业务子系统自有消息模块中的消息1.2 用户中心管理系统( UMS)统一用户管理实用文档使用统一身份认证平台的所有业务应用系统的全部用户,用户身份信息支持LDAP和数据库的同时存储。统一角色管理管理统一身份认证平台本身和平台中所有应用系统中需要使用到的角色信息,系统通过用户、角色、权限机制,以及角色、用

9、户、权限批量处理机制,极大地方便了用户的权限分配。统一应用管理管理纳入统一身份认证平台的各应用系统的应用功能点和应用权限。统一授权管理实现用户与角色、角色与功能的对应管理,实现菜单权限、数据权限、 资源权限等多种权限分发管理。同时,实现权限策略的定制和调用,便于实现与应用流程的紧密结合。1.3 门户系统( Portal )平台主页,按角色权限提供平台整合的所有资源的入口;提供用户自身基本信息查看与维护功能;服务申请审批通过之后通知用户中心服务系统实现消息通知的接入;实现微信账号绑定,微信消息推送;1.4 业务子系统接入实现单点登录、单点退出、会话保持的接入;用户信息实时或定时从用户中心服务系统

10、同步;实现菜单权限控制接入;实现数据权限控制接入;实现资源权限控制接入;实现消息中心接入;2 用户中心服务系统(UCS)实用文档平台 SSO单点登录基于标准CAS认证流程,并优化超时验证流程,增加用户权限信息。2.1 用户中心服务系统安全性要求用户中心服务系统可以使用HTTPS方式提供服务业务系统与认证服务器之间接口调用采用参数密钥校验2.2 系统帐号传递机制在用户访问应用系统之前,由统一身份认证平台生成一次性的访问Ticket提交给应用系统,应用系统请求统一身份认证平台验证Ticket证结果和用户身份信息给应用系统。应用系统根据验证结果确认用户身份,Ticket默认有效时间5 分钟, Tic

11、ket使用一次之后自动失效。Ticket票据,并将有效性,之后返回认并分配用户权限。2.3 登录界面用户中心服务系统提供全平台唯一的登录界面已经登录的用户访问登录页面将自动跳转到平台首页,不允许一个浏览器在未退出时登录另一个账户。2.4 功能说明实用文档2.4.1单点登录用户认证流程用户业务服务(Browser )(CAS-Client )已经登录业访问业务系统务系统需要发送会话保持信息认证服务(CAS-Server )认证服务会No话 id 是否登No录YesYes刷新用户在线状态No业务响应页面处理业务登录响应登录页面登录信息是Yes否正确No登录成功 ,记录cookie ,附带 tick

12、et参数回调业务系统记录登录信息 ,标识登录会话id为登录状态验证 ticket 参数ticket 是否正Yes确No登录失败,响登录应未登录状态记录用户信息返回用户信息以及对应业务和权限信息系统的权限信息根据权限信息业务响应页面处理业务数据1. 用户访问业务系统如果业务系统 session 或登录缓存中判断用户没有登录, 则控制客户端浏览器跳转到用户中心服务系统(UCS)的统一登录页面;如果业务系统已经登录,则判断是否到达需要发送保持用户登录状态心跳包的时间,向实用文档认证服务器用户状态保持接口发送消息;同时,业务服务器处理自有业务,响应用户。2. 用户在用户中心服务系统登录完毕, 系统记录

13、登录信息并将浏览器跳转到业务系统服务器回跳页面,并带上url参数 ticket票据3. 业务服务器接收 ticket 参数向用户中心服务系统验证 ticket 合法性并获取用户信息和权限信息4. 业务系统获取到用户信息, 将登录信息记录 session 或登录缓存, 标识已经登录, 并根据返回的权限信息检验用户是否有操作权限;验证通过则执行相应业务操作2.4.2会话保持用户登录成功之后,被访问的业务系统需要在当前用户有访问请求时(在线状态) 每间隔一段时间 (默认3 分钟) 向用户中心服务系统提交用户在线状态信息。保证认证服务中心能够感知到用户当前的活动状态。认证服务中心在一定时间(默认30

14、分钟)内没有检测到用户的活动信息则判定用户状态为下线。将注销用户登录状态并通知所有业务系统注销该用户的登录状态。2.4.3单点退出与单点登录相对应,单点退出功能可以解决“单点登录” 功能在方便用户的同时留下的安全隐患, 用户在平台中主动下线或超时下线时,统一身份认证平台会向业务系统发起用户下线通知,告知业务系统,某用户已经下线,请销毁相关Session 会话。实用文档单点退出流程用户业务服务(Browser )(CAS-Client )已经登录业Yes访问业务系统务系统No认证服务(CAS-Server )用户下线,删除会话信息各接入系统清除相关通知所有业务退出成功系统用户的登录信息2.4.4

15、组织架构同步用户在门户系统注册,注册数据通过接口保存到用户中心服务系统;全量同步用户中心服务系统开通组织架构全量同步接口,提供给实时性要求不太高的子系统使用;实时增量同步在用户注册、 信息变更、 服务申请状态变化、 删除等操作之后用户中心服务系统主动通知各个子系统变更的用户数据,提供给实时性要求高的子系统使用;2.4.5消息推送监听消息服务器中的消息数据,将各个子系统通过消息中心发出的通知消息推送给绑定的微信账号。2.5 数据结构实用文档2.5.1表清单名称T_COMPANYT_DEPTT_EMPLT_USERT_DICTIONARYT_ATTACHMENTUC_ACCOUNTUC_APPUC

16、_BUTTONUC_DATAUC_MENUUC_ROLEUC_ROLE_COMPANYUC_ROLE_BUTTONUC_ROLE_DATAUC_ROLE_EMPLUC_ROLE_MENU注释公司表部门表员工信息用户信息字典表附件表登录账号表业务系统资源表数据表菜单表角色表角色公司关联表角色资源关联表角色数据关联表角色员工关联表角色菜单关联表2.5.2T_COMPANY公司表名称类型主键外键必填注释COMPANY_IDvarchar(50)TRUETRUE公司 idPARENT_IDvarchar(50)父 idCOMPANY_NAMEvarchar(200)公司名称COMPANY_CODEva

17、rchar(200)公司编码CREATE_TIMEdatetime创建时间ZIP_CODEvarchar(50)公司邮编ADDRESSvarchar(200)公司地址EMAILvarchar(50)公司邮箱WEB_SITEvarchar(200)公司网址FAXvarchar(50)传真TELvarchar(50)企业电话BANKvarchar(100)开户银行BANK_ACCOUNTvarchar(50)银行账户实用文档LEGAL_NAMELEGAL_TELvarchar(50)varchar(50)公司法人姓名公司法人联系方式2.5.3T_DEPT部门表名称类型主键外键必填注释DEPT_ID

18、varchar(50)TRUETRUE部门 idPARENT_IDvarchar(50)上级部门 idCOMPANY_IDvarchar(50)TRUE公司 idDEPT_NAMEvarchar(200)部门名称CREATE_TIMEdatetime创建时间DEPT_CODEvarchar(200)部门编号TELvarchar(50)电话FAXvarchar(50)传真ZIP_CODEvarchar(50)邮编ADDRESSvarchar(500)地址2.5.4T_EMPL员工表名称类型主键外键必填注释EMPL_IDvarchar(50)TRUETRUE用户 idUSER_IDvarchar(

19、50)TRUE用户 idCOMPANY_IDvarchar(50)TRUE公司 idDEPT_IDvarchar(50)TRUE部门 idCREATE_TIMEdatetime创建时间EMPL_CODEvarchar(50)员工编号EMPL_POSITIONvarchar(50)员工职位ENTRY_TIMEdatetime入职时间2.5.5T_USER用户表名称类型主键外键必填注释USER_IDvarchar(50)TRUETRUE用户 idACCOUNT_IDvarchar(50)TRUE账号 idUSER_NAMEvarchar(100)姓名CREATE_TIMEdatetime创建时间S

20、EXnumeric(1,0)性别(1:男,0: 女)实用文档EMAILvarchar(50)邮箱MOBILEvarchar(50)手机号IDCARDvarchar(50)身份证2.5.6T_DICTIONARY字典表名称类型主键外键必填注释DICTIONARY_IDvarchar(50)TRUETRUE字典 idDICT_CODEvarchar(50)字典编码PARENT_CODEvarchar(50)父编码DICT_NAMEvarchar(100)名称DICT_DESCvarchar(500)说明2.5.7T_ATTACHMENT附件表名称类型主键外键必填注释FILE_IDvarchar(5

21、0)TRUETRUE附件 idGROUP_IDvarchar(50)附件组 idFILE_PATHvarchar(500)附件路径FILE_NAMEvarchar(500)附件文件名FILE_SIZEnumeric(10,0)附件大小CREATE_TIMEdatetime创建时间CREATE_USERvarchar(50)创建者RECORD_TABLEvarchar(100)主记录所属表2.5.8UC_ACCOUNT登录帐号表名称类型主键外键必填注释ACCOUNT_IDvarchar(50)TRUETRUE账号 idACCOUNT_NAMEvarchar(50)登录名ACCOUNT_PASSW

22、ORDvarchar(200)密码IS_ENABLEnumeric(1,0)是否可用 (0: 不可用 ,1: 可用 )CREATE_TIMEdatetime创建时间OPEN_IDvarchar(50)微信 idIS_PLATnumeric(1,0)是否平台用户IS_SUPPnumeric(1,0)是否是供应商用户IS_BUYnumeric(1,0)是否是采购商用户实用文档ACCOUNT_TELvarchar(50)ACCOUNT_EMAILvarchar(50)2.5.9UC_APP业务系统表名称类型主键外键必填注释APP_IDvarchar(50)TRUETRUE业务系统 idAPP_NAM

23、Evarchar(200)业务系统名称SECRET_KEYvarchar(200)接入密钥APP_LOGOvarchar(200)首页展示 logo 图片INDEX_URLvarchar(200)首页地址USER_NOTIFY_URLvarchar(200)用户信息变更通知地址DEPT_NOTIFY_URLvarchar(200)组织信息变更通知地址LOGOUT_NOTIFY_URLvarchar(200)单点退出通知地址2.5.10UC_BUTTON业务系统资源表名称类型主键外键必填注释BUTTON_IDvarchar(50)TRUETRUE资源 idAPP_IDvarchar(50)TRU

24、E子系统 idBUTTON_CODEvarchar(100)资源编码BUTTON_NAMEvarchar(200)资源名称BUTTON_CLASSvarchar(200)资源分类ORDER_NUMnumeric(10,0)序号2.5.11UC_DATA业务系统数据表名称类型主键外键必填注释DATA_IDvarchar(50)TRUETRUEAPP_IDvarchar(50)TRUE子系统 idDATA_CODEvarchar(100)数据编码DATA_NAMEvarchar(200)数据名称DATA_CLASSvarchar(200)数据分类DATA_EXPRESSIONvarchar(200

25、0)数据 sqlORDER_NUMnumeric(10,0)序号实用文档2.5.12UC_MENU业务系统菜单表名称类型主键外键必填注释MENU_IDvarchar(50)TRUETRUEAPP_IDvarchar(50)TRUETRUE子系统 idPARENT_IDvarchar(50)TRUE父 idMENU_NAMEvarchar(100)菜单名称MENU_ICONvarchar(100)图标MENU_URLvarchar(200)地址ORDER_NUMnumeric(2,0)排序2.5.13UC_ROLE业务系统角色表名称类型主键外键必填注释ROLE_IDvarchar(50)TRUE

26、TRUE角色 idAPP_IDvarchar(50)TRUETRUE子系统 idCOMPANY_IDvarchar(50)TRUE创建公司 idROLE_NAMEvarchar(100)角色名称2.5.14UC_ROLE_COMPANY角色公司关联表名称类型主键外键必填注释ROLE_IDvarchar(50)TRUETRUETRUE角色 idCOMPANY_IDvarchar(50)TRUETRUETRUE公司 id2.5.15UC_ROLE_BUTTON角色资源关联表名称类型主键外键必填注释BUTTON_IDvarchar(50)TRUETRUETRUE资源 idROLE_IDvarchar

27、(50)TRUETRUETRUE角色 id2.5.16UC_ROLE_DATA角色数据关联表名称类型主键外键必填注释DATA_IDvarchar(50)TRUETRUETRUE数据 idROLE_IDvarchar(50)TRUETRUETRUE角色 id实用文档2.5.17UC_ROLE_MENU角色菜单关联表名称类型主键外键必填注释MENU_IDvarchar(50)TRUETRUETRUE菜单 idROLE_IDvarchar(50)TRUETRUETRUE角色 id2.5.18UC_ROLE_EMPL角色员工关联表名称类型主键外键必填注释ROLE_IDvarchar(50)TRUETR

28、UETRUE角色 idEMPL_IDvarchar(50)TRUETRUETRUE员工 idIS_GRANTnumeric(1)TRUE是否允许授予2.6 用户中心提供的接口2.6.1通用接口调用方式通信协议HTTP POST请求格式application/x-www-form-urlencoded响应格式application/json公用请求参数序号名称必填类型说明加密验证参数使用平台给业务系统分配的接口密钥secretKey与当1secretString前时间( yyyyMMddHHmmss格式)拼接之后使用AES加密,使用十六进制编码得到的字符串响应结构序号名称类型说明1retCode

29、String返回消息码2messageString返回消息描述实用文档JSON数据对象:下列所有接口返回数据都在此字段下(无数据返回时,3resultJSON无此字段)公用响应编码编码说明000000成功700000接口令牌无效800000accessToken 无效,没有相关用户信息900000异常2.6.2sso.login登录功能说明接入方控制客户端浏览器跳转登录页面进行登录操作发起方客户端浏览器请求方式浏览器跳转请求地址/sso/login.do请求参数参数名类型说明backurlString登录完成之后的回跳地,URLEncoder(utf-8)编码响应参数名类型说明ticketSt

30、ring获取用户信息的凭证, 一分钟过期 , 一次有效请求示例https:/xxxxxx/sso/login.do?backurl=http%3A%2F%2Fxxx%2Fmobile响应示例实用文档http:/xxx/mobile?ticket=0fff8d0f896e4b7094a7f98cfc35e4e92.6.3sso.validate ticket校验功能说明业务系统向用户中心服务系统校验登录ticket是否可用,并获取用户信息发起方业务服务器接口地址/sso/validate.do请求参数序号名称必填类型说明1ticketYString用户登录之后浏览器回跳地址中的ticket 参数

31、2appIdNString业务系统 Id3secretYString加密验证参数4onlySelfRoleNBoolean是否仅自有系统的权限列表响应序号名称类型说明1accesstokenString用户接口令牌,服务端调用接口时使用2userObject用户信息2.1userIdString用户 id2.2userNameString用户姓名2.3userTypeInteger用户类型,员工、供应商2.4companyIdString公司 id2.5deptIdString部门 id2.6servicesObject申请的服务数组2.6.1serviceCodeString服务编号实用文档

32、2.6.2serviceNameString服务名2.6.3serviceStatusInteger服务状态 (1: 待审核, 2: 审核拒绝, 3:审核通过 )2.7appsObject业务系统列表2.7.1appIdString业务系统 id2.7.2rolesObject角色数组 , 包含菜单权限,数据权限,资源权限roleNameString角色名roleCodeString角色编码menusString菜单权限编号列表datasObject数据权限列表.dataCodeString数据编码1dataExpressi

33、oString数据 SQL片段或表达式语句.2buttonsString资源权限编号列表响应码表编码说明000000成功800000ticket校验失败900000服务端异常2.6.4sso.keepAlive保持用户登录状态功能说明保持用户登录状态发起方PORTAL、各个接入单点登录的子系统接口地址/sso/keepAlive.do请求参数序号名称必填类型说明1accessTokenYString用户接口令牌2secretYString加密验证参数实用文档响应码表编码说明000000成功2.6.5sso.logout单点退出功能说明退出登录发起方PORTAL、各个

34、接入单点登录的子系统接口地址/sso/logout.do请求参数序号名称必填类型说明1accessTokenYString用户接口令牌2secretYString加密验证参数响应码表编码说明000000成功2.6.6portal.getPageMould获取页面统一样式功能说明获取统一的页面头、尾、菜单等HTML代码段发起方子系统接口地址/ portal/getPageMould.do请求参数序号名称必填类型说明实用文档1accessTokenNString用户接口令牌,不填则表示未登录2secretYString加密验证参数响应序号名称类型说明1headString头部信息2menuStri

35、ng菜单信息3footObject底部信息响应码表编码说明000000成功2.6.7account.checkAccount检查帐号是否可用功能说明PORTAL方账号注册时验证账号可用性发起方PORTAL接口地址/api/account/checkAccount.do请求参数序号名称必填类型说明1accountYString账号2secretYString加密验证参数响应码表编码说明000000成功100000账号被占用200000账号不符合规范实用文档2.6.8account.updatePwd 用户修改密码功能说明用户修改密码发起方PORTAL接口地址/api/account/updatePwd.do请求参数序号名称必填类型说明1accessTokenYString用户接口令牌2secretYString加密验证参数响应码表编码说明000000成功100000修改失败 , 原始密码错误200000新密码不符合规范2.6.9account.resetPwd忘记密码功能说明通过邮箱找回密码发起方PORTAL接口地址/api/account/updatePwd.do请求参数序号1名称account必填Y类型String说明账号实用文档2codeYString图形验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论