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

下载本文档

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

文档简介

统一用户中心

详细设计报告

制作人:日期:2018-01版本:1/

目录

1系统构造5

1.1用户中心服务系统(UCS)5

1.2用户中心管理系统(UMS)5

1.3门户系统(Portal।6

1.4业务子系统接入6

2用户中心服务系统(UCS)6

2.1用户中心服务系统安全性要求6

2.2系统帐号传递机制7

2.3登录界面7

2.4功能说明7

2.4.1单点登录7

2.4.2会话保持7

2.43单点退出8

2.4.4组织架构同步8

2.4.5消息推送8

2.5数据构造8

2.5.1表清单8

2.5.2T_COMPANY公司表9

2.5.3T_DEPT部门表10

2.5.4T_EMPL员工表10

2.5.5T_USER用户表10

2.5.6T_DICTIONARY字典表11

2.5.7T_ATTACHMENT附件表11

2.5.8UC_ACCOUNT登录帐号表11

2.5.9UC.APP业务系统表12

2.5.10UC_BUTrON业务系统资源表12

2.5.11UC_DATA业务系统数据表12

2.5.12UC_MENU业务系统菜单表13

2.5.13UC_ROLE业务系统角色表13

2.5.14UC_ROLE_COMPANY角色公司关联表13

2.5.15UC_ROLE_BUTTON角色资源关联表13

2.5.16UCROLEDATA角色数据关联表13

2.5.17UC_ROLE_MENU角色菜单关联表14

2.5.18UC_ROLE_EMPL角色员工关联表14

2.6用户中心提供的接口14

2.6.1通用接口调用方式14

2.6.2sso.login登录15

2.6.3sso.validateticket校脸16

2.6.4sso.kecpAlivc保持用户登录状态17

2.6.5sso.logoul单点退出18

2.6.6portal.getPageMould获取页面统一样式18

2.6.7account.checkAccount检查帐号是否可用19

2.6.8account.updatePwd用户修改密码20

2.6.9account.rcseiPwd忘记密码20

2.6.10user.reg用户注册21

2.6.11user.update用户修改22

2.6.12'jser.findByAccessToken根据AccessToken获取用户信息23

2.6.13user.findByParentld根据组织架构id获取用户信息23

2.6.14user.findAll查询所有用户信息24

2.6.15user.findRoleByUserld根据用户id查询用户权限24

2.6.16user.findRoleByAccessToken根据AccessToken查询用户权限25

2.6.17org.getDeplsByParentld获取组织机构信息26

2.7业务子系统需要实现的接口27

2.7.1sso.logoulNotify用户退出通知27

2.7.2user.updateNotify用户信息变更通知28

2.7.3org.updateNotify组织架构信息变更通知29

3用户中心管理系统(UMS)29

3.1应用工程管理30

3.1.1基木信息管理30

3.1.2菜单管理30

3.13数据项管理31

3.1.4资源项管理31

3.1.5角色管理31

3.1.6角色权限管理31

3.2企业管理32

3.2.1企业列表32

3.2.2企业信息维护32

3.3部门管理32

3.3.1部门列表32

3.3.2部门编辑32

3.4供应商内部权限管理33

3.4.1角色列表33

3.4.2角色权限关联33

3.5员工管理33

3.5.1员工列表33

3.5.2员工删除33

3.5.3修改密码33

3.5.4用户锁定34

3.5.5员工编辑34

3.5.6角色授予34

4门户系统(Portal)34

4.1用户登录34

4.1.1登录页面34

4.1.2单点登录35

4.1.3会话保持35

4.1.4单点退出35

4.2用户主页35

4.2.1主页界面35

4.2.2导航菜单36

4.3用户注册36

4.4个人信息管理36

4.5页面集成方式36

4.6平台服务集

4.7消息服务集成36

5微信服务号接入37

5.1微信绑定37

5.2微信消息推送37

6业务子系统接入37

6.1操作流程37

6.2需要实现的接m38

6.2.1单点登录38

6.2.2会话保持38

6.2.3单点退出39

6.2.4组织架构、用户同步39

6.2.5菜单权限39

6.2.6数据权限39

6.2.7资源权限40

6.2.8消息通知40

6.3针对Java应用环境的封装40

6.3.1主要功能40

6.3.2过滤器配置说明40

6.3.3单机环境配置43

6.3.4分布式环境配置43

1系统构造

1.1用户中心服务系统(UCS)

提供平台登录界面;

提供单点登录、单点退出、会话保持服务,并在传统CAS服务的功能上增加用户角色

权限控制;

提供第三方应用接入相关接口;

提供用户、组织机构、权限相关接口;

提供提醒消息服务的集成,允许业务子系统存储提醒消息,以及同步业务子系统自有消

息模块中的消息

1・2用户中心管理系统(UMS)

>统一用户管理

使用统一身份认证平台的所有业务应用系统的全部用户,用户身份信息支持LDAP和

数据库的同时存储。

>统一角色管理

管理统一身份认证平台本身和平台中所有应用系统中需要使用到的角色信息,系统通过

用户、角色、权限机制,以及角色、用户、权限批量处理机制,极大地方便了用户的权限

分配。

>统一应用管理

管理纳入统一身份认证平台的各应用系统的应用功能点和应用权限。

>统一授权管理

实现用户与角色、角色与功能的对应管理,实现菜邑权限、数据权限、资源权限等多种

权限分发管理。同时,实现权限策略的定制和调用,便于实现与应用流程的严密结合。

1.3门户系统(Portal)

平台主页,按角色权限提供平台整合的所有资源的人口;

提供用户自身基本信息查看与维护功能;

服务申请审批通过之后通知用户中心服务系统

实现消息通知的接入;

实现微信账号绑定,微信消息推送;

1.4业务子系统接入

实现单点登录、单点退出、会话保持的接入;

用户信息实时或定时从用户中心服务系统同步:

实现菜单权限控制接入;

实现数据权限控制接入;

实现资源权限控制接入;

实现消息中心接入;

2用户中心服务系统(UCS)

平台SSO单点登录基于标准CAS认证流程,并优化超时验证流程,增加用户权限信息。

2.1用户中心服务系统安全性要求

用户中心服务系统可以使用s方式提供服务

业务系统与认证服务器之间接口调用采用参数密钥校验

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分钟i向用户中心服务系统提交用户在线状态信息。保证认证服务中心

能够感知到用户当前的活动状态。

认证服务中心在•定时间(默认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_BurroN资源表

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_1Dvurchar(50)TRUETRUE公司id

PARENTJDvarchar(50)父id

COMPANY.NAMEvarchar(200)公司名称

COMPANY.CODEvarchar(200)公司编码

CREATE_TIMEdatetime创立时间

ZIP.CODEvarchar(50)公司

ADDRESSvarchar(2OO)公司地址

EMAILvarchar(50)公司邮箱

\VEB_SITEvarchar(200)公司网址

FAXvarchar(50)

TELvarchar(50)企业

BANKvarchar(100)开户银行

BANK一ACCOUNTv<irchar(50)银行账户

LEGAL_NAMEvarchar(50)公司法人姓名

LEGAL_TELvarchar(50)公司法人联系方式

2.5.3T_DEPT部门表

名称类型主键外键必填注释

DEPT_IDvarchar(50)TRUETRUE部门id

PARENT_IDvurchar(50)上级部门id

COMPANY」Dvarchar(50)TRUE公司id

DEPT_NAMEvarchar(200)部门名称

CREATE_TIMEdatetime创立时间

DEPT.CODEvarchar(200)部门编号

TELvarchar(50)

FAXv<irchar(50)

ZIP.CODEvarchar(50)

ADDRESSvarchar(500)地址

2.5.4T_EMPL员工表

名称类型主键外键必填注释

EMPL_IDvtirchar(5O)TRUETRUE用户id

USERJDvarchar(50)TRUE用户id

COMPANY」)v;rchar(50)TRUE公司id

DEPT」Dvarchar(50)TRUE部门id

CREATE_TIMEdatetime创立时间

EMPL_CODEvurchar(50)员工编号

EMPL_POSITIONvurchar(50)员工职位

ENTRY_TIMEdatetime入职时间

2.5.5T_USER用户表

名称类型主键外键必填注释

USER.IDvyrchar(50)TRUETRUE用户id

ACCOUNT_IDvarchar(50)TRUE账号id

USER_NAMEvarchar(100)姓名

CREATE.TIMEdatetime创立时间

SEXnumeric(l,0)性别(上男,0:女)

EMAILvarchar(50)邮箱

MOBILEvarchar(50)手机号

IDCARDvyrchar(50)身份证

2.5.6T.DICTIONARY字典表

名称类型主键外键必填注释

DICTIONARY」Dvaichar(50)TRUETRUE字典id

DICT.CODEvarchar(50)字典编码

PARENT_CODEvarchar(50)父编码

DICT_NAMEvarchar(100)名称

DICT_DESCvarchar(500)说明

2.5.7T_ATTACHMENT附件表

名称类型主键外键必填注释

FILE_IDvarchar(50)TRUETRUE附件id

GROUPJDvarchar(50)附件组id

FILE.PATHvarchar(500)附件路径

FILE_NAMEvarchar(500)附件文件名

FILE_SIZEnumeric(10,0)附件大小

CREATE_TIMFdatetime创立时间

CREATE.USERvarchar(50)创立者

RECORD_TABLEvarchar(100)主记录所属表

2.5.8UC.ACCOUNT登录帐号表

名称类型主键外键必填注释

ACCOUNT_IDv<wchar(50)TRUETRUE账号id

ACCOUNT_NAMEvarchar(50)登录名

ACCOUNT_PASSWORDvarchar(200)密码

IS_ENABLEnumeric(l.O)是否可用(0:不可用J:可用)

CREATE.TIMEdatetime创立时间

OPENJDvarchar(50)微信id

IS_PLATnunieric(1.0)是否平台用户

IS_SUPPnumeric(l,0)是否是供应商用户

IS_BUYnunieric(1.0)是否是采购商用户

ACCOUNT_TELvarchar(50)

ACCOUNT.EMAILvarchar(50)

2.5.9UC_APP业务系统表

名称类型主键外键必填注释

APP_IDv<irchar(50)TRUETRUE业务系统id

APP_NAMEvarchar(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业务系统资源表

名称类型主键外键必填注释

BUTTONJDv<irchar(50)TRUETRUE资源id

APPJDvarchar(50)TRUE子系统id

RIITTON_CODFvarchar(100)资源编码

BUTrON_NAMEvarchar(200)资源名称

BUTTON_CLASSvarchar(200)资源分类

ORDER_NUMnumeric(10,0)序号

2.5.11UC_DATA业务系统数据表

名称类型主键外键必填注释

DATA.IDvarchar(50)TRUETRUE

APP_IDvarchar(50)TRUE子系统id

DATA_CODEvarchar(100)数据编码

DATA.NAMEvarchar(200)数据名称

DATA.CLASSvarchar(200)数据分类

DATA_EXPRESSIONvarchar(2000)数据sql

ORDER_NUMnumeric(lO.O)序号

2.5.12UC.MENU业务系统菜单表

名称类型主键外键必填注释

MENU」Dvarchar(50)TRUETRUE

APP_1Dvurchar(50)TRUETRUE子系统id

PARENTJDvarchar(50)TRUE父id

MENU-NAMEvarchar(100)菜单名称

MENU_ICONvarchar(100)图标

MENU_URLvarchar(200)地址

ORDER_NUMnumeric(2.0)排序

2.5.13UC_ROLE业务系统角色表

名称类型主键外键必填注释

ROLE_IDvarchar(50)TRUETRUE角色id

APPJDvarchar(50)TRUETRUE子系统id

COMPANY_iDvarchar(50)TRUE创立公司id

ROLE_NAMEvarchar(IOO)角色名称

2.5.14UC_ROLE_COMPANY角色公司关联表

名称类型主键外键必填注料

ROLE_IDvurchar(50)TRUETRUETRUE角色id

COMPANY_IDvarchar(50)TRUETRUETRUE公司id

2.5.15UC_ROLE_BUTTON角色资源关联表

名称类型主键外键必填注释

BUTTON.IDvarchar(50)TRUETRUETRUE资源id

ROLE」Dvurchar(50)TRUETRUETRUE角色id

2.5.16UC_ROLE_DATA角色数据关联表

名称类型主键外键必填注释

DATA.IDvarchar(50)TRUETRUETRUE数据id

ROLEJDvarchar(50)TRUETRUETRUE角色id

2.5.17UC_ROLE_MENU角色菜单关联表

名称类型主键外键必填注释

MENU」Dvarchar(50)TRUETRUETRUE菜单id

ROLE_IDvurchar(50)TRUETRUETRUE角色id

2.5.18UC_ROLE_EMPL角色员工关联表

名称类型主键外键必填注释

ROLEJDvarchar(50)TRUETRUETRUE角色id

EMPL_IDvyrchar(50)TRUETRUETRUE员工id

IS_GRANTnumeric(l)TRUE是否允许授予

2.6用户中心提供的接口

2.6.1通用接口调用方式

>通信协议

POST

>请求格式

application/x-www-form-urlencoded

>响应格式

application/json

>公用请求参数

序号名称必填类型说明

加密验证参数

使用平台给业务系统分配的接口密钥secretKey与当前

1secretString

时间(yyyyMMddHHmmss格式)拼接之后使用AES

加密,使用十六进制编码得到的字符串

>响应构造

序号名称类型说明

1retCodeSiring返回消息码

2messageString返回消息描述

JSON数据对象:以下所有接口返回数据都在此字段下(无数据返回时,

3resultJSON

无此字段)

>公用响应编码

编码说明

000()00成功

700000接口令牌无效

800000acccssToken无效,没有相关用户信息

900000异常

2.6.2sso.login登录

>功能说明

接入方控制客户端浏览器跳转登录页面进展登录操作

>发起方

客户端浏览器

>请求方式

浏览器跳转

>请求地址

/sso/Iogin.do

>请求参数

参数名类型说明

backurlString登录完成之后的回跳地,URLEncoder(utf-8)编码

>响应

参数名类型能明

ticketString获取用户信息的凭证,一分钟过期.一次有效

>请求例如

s://xxxxxx/sso/login.do?backurl=%3A%2F%2Fxxx%2Fmobile

>响应例如

://xxx/mobile?ticket=0fff8d0fB96e4b7094a7f98cfc35e4e9

2.6.3sso.validateticket校验

>功能说明

业务系统向用户中心服务系统校验登录lickci是否可用,并获取用户信息

>发起方

业务服务器

>接口地址

/sso/validate.do

>请求参数

序号名称必填类型说明

1ticketYString用户登录之后浏览器回跳地址中的lickci参数

2appldNString业务系统Id

3secretYString加密验证参数

4oniySelfRoleNBoolean是否仅自有系统的权限列表

>响应

序号名称类型说明

1accesstokenString用户接口令牌,服务端调用接口时使用

2userObject用户信息

2.1useridString用户id

2.2userNameString用户姓名

2.3userTypeInteger用户类型,员工、供应商

2.4companyldString公司id

2.5deptldString部门id

2.6servicesObject[|申请的服务数组

2.6.1serviceCodeString服务编号

2.6.2serviceNameString服务名

2.6.3serviceStatusInteger服务状态(1:待审核,2:审核拒绝,3:审核通过)

2.7appsObjectf]业务系统列表

2.7.1appldString业务系统id

2.7.2rolesObject[]角色数组,包含菜单权限,数据权限,资源权限

roleNanieString角色名

roleCcxieString角色编码

2.7.23menusStringU菜单权限编号列表

datasObject!]数据权限列表

.1dataCodeString数据编码

.2dataExpressioString数据SQL片段或表达式语句

buttonsStringU资源权限编号列表

>响应码表

编码说明

000000成功

800000ticket校验失败

900000服务端异常

2.6.4sso.keepAlive保持用户登录状态

>功能说明

保持用户登录状态

>发起方

PORTAL、各个接入单点登录的子系统

>接口地址

/sso/keepAlive.do

>请求参数

序号名称必填类型说明

1accessTbkenYString用户接口令牌

2secretYString加密验证参数

>响应码表

编码说明

000000成功

2.6.5sso.logout单点退出

>功能说明

退出登录

>发起方

PORTAL、各个接入单点登录的子系统

>接口地址

/sso/logout.do

>请求参数

序号名称必填类型说明

1accessTokenYString用尸接口令牌

2secretYString加密验证参数

>响应码表

编码说明

000000成功

2.6.6portal.getPageMould获取页面统一样式

>功能说明

获取统一的页面头、尾、菜单等HTML代码段

>发起方

子系统

>接口地址

/portal/gelPageMould.do

>请求参数

序号名称必填类型说明

1accessTbkenNString用户接口令牌,不填那么表示未登录

2secretYString加密验证参数

>响应

序号名称类型说明

1headString头部信息

2menuString菜单信息

3lootObject底部信息

>响应码表

编码说明

000000成功

2.6.7account.checkAccount检查帐号是否可用

>功能说明

PORTAL方账号注册时验证账号可用性

>发起方

PORTAL

>接口地址

/api/account/checkAccount.do

>请求参数

序号名称必填类型说明

1accountYString账号

2secretYString加密验证参数

>响应码表

编码说明

()0(X)00成功

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

>请求参数

序号名称必填类型说明

1accountYString账号

2codeYString图形验证码

>响应码表

编码说明

000000成功

100000账号不存在

200000用户邮件地址无效,邮件发送失败

2.6.10user.reg用户注册

>功能说明

用户注册

>发起方

PORTAL

>接口地址

/api/user/reg.do

>请求参数

序号名称必填类型说明

1secretYString加密验证参数

2accountYString用户名

3passwordYStrin

温馨提示

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

最新文档

评论

0/150

提交评论