统一用户中心详细方案设计.docx

上传人:b****3 文档编号:5309182 上传时间:2023-05-08 格式:DOCX 页数:52 大小:293.02KB
下载 相关 举报
统一用户中心详细方案设计.docx_第1页
第1页 / 共52页
统一用户中心详细方案设计.docx_第2页
第2页 / 共52页
统一用户中心详细方案设计.docx_第3页
第3页 / 共52页
统一用户中心详细方案设计.docx_第4页
第4页 / 共52页
统一用户中心详细方案设计.docx_第5页
第5页 / 共52页
统一用户中心详细方案设计.docx_第6页
第6页 / 共52页
统一用户中心详细方案设计.docx_第7页
第7页 / 共52页
统一用户中心详细方案设计.docx_第8页
第8页 / 共52页
统一用户中心详细方案设计.docx_第9页
第9页 / 共52页
统一用户中心详细方案设计.docx_第10页
第10页 / 共52页
统一用户中心详细方案设计.docx_第11页
第11页 / 共52页
统一用户中心详细方案设计.docx_第12页
第12页 / 共52页
统一用户中心详细方案设计.docx_第13页
第13页 / 共52页
统一用户中心详细方案设计.docx_第14页
第14页 / 共52页
统一用户中心详细方案设计.docx_第15页
第15页 / 共52页
统一用户中心详细方案设计.docx_第16页
第16页 / 共52页
统一用户中心详细方案设计.docx_第17页
第17页 / 共52页
统一用户中心详细方案设计.docx_第18页
第18页 / 共52页
统一用户中心详细方案设计.docx_第19页
第19页 / 共52页
统一用户中心详细方案设计.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

统一用户中心详细方案设计.docx

《统一用户中心详细方案设计.docx》由会员分享,可在线阅读,更多相关《统一用户中心详细方案设计.docx(52页珍藏版)》请在冰点文库上搜索。

统一用户中心详细方案设计.docx

统一用户中心详细方案设计

统一用户中心

详细设计报告

 

制作人:

日期:

2018-01版本:

1.1

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)

公司地址

EMAIL

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:

女)

EMAIL

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

Ø公用请求参数

序号

名称

必填

类型

说明

1

secret

String

加密验证参数

使用平台给业务系统分配的接口密钥secretKey与当前时间(yyyyMMddHHmmss格式)拼接之后使用AES加密,使用十六进制编码得到的字符串

Ø响应结构

序号

名称

类型

说明

1

retCode

String

返回消息码

2

message

String

返回消息描述

3

result

JSON

JSON数据对象:

下列所有接口返回数据都在此字段下(无数据返回时,无此字段)

Ø公用响应编码

编码

说明

000000

成功

700000

接口令牌无效

800000

accessToken无效,没有相关用户信息

900000

异常

2.6.2sso.login登录

Ø功能说明

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

Ø发起方

客户端浏览器

Ø请求方式

浏览器跳转

Ø请求地址

/sso/login.do

Ø请求参数

参数名

类型

说明

backurl

String

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

Ø响应

参数名

类型

说明

ticket

String

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

Ø请求示例

https:

//xxxxxx/sso/login.do?

backurl=http%3A%2F%2Fxxx%2Fmobile

Ø响应示例

http:

//xxx/mobile?

ticket=0fff8d0f896e4b7094a7f98cfc35e4e9

2.6.3sso.validateticket校验

Ø功能说明

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

Ø发起方

业务服务器

Ø接口地址

/sso/validate.do

Ø请求参数

序号

名称

必填

类型

说明

1

ticket

Y

String

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

2

appId

N

String

业务系统Id

3

secret

Y

String

加密验证参数

4

onlySelfRole

N

Boolean

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

Ø响应

序号

名称

类型

说明

1

accesstoken

String

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

2

user

Object

用户信息

2.1

userId

String

用户id

2.2

userName

String

用户姓名

2.3

userType

Integer

用户类型,员工、供应商

2.4

companyId

String

公司id

2.5

deptId

String

部门id

2.6

services

Object[]

申请的服务数组

2.6.1

serviceCode

String

服务编号

2.6.2

serviceName

String

服务名

2.6.3

serviceStatus

Integer

服务状态(1:

待审核,2:

审核拒绝,3:

审核通过)

2.7

apps

Object[]

业务系统列表

2.7.1

appId

String

业务系统id

2.7.2

roles

Object[]

角色数组,包含菜单权限,数据权限,资源权限

2.7.2.1

roleName

String

角色名

2.7.2.2

roleCode

String

角色编码

2.7.2.3

menus

String[]

菜单权限编号列表

2.7.2.4

datas

Object[]

数据权限列表

2.7.2.4.1

dataCode

String

数据编码

2.7.2.4.2

dataExpressio

String

数据SQL片段或表达式语句

2.7.2.5

buttons

String[]

资源权限编号列表

Ø响应码表

编码

说明

000000

成功

800000

ticket校验失败

900000

服务端异常

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

Ø功能说明

保持用户登录状态

Ø发起方

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

Ø接口地址

/sso/keepAlive.do

Ø请求参数

序号

名称

必填

类型

说明

1

accessToken

Y

String

用户接口令牌

2

secret

Y

String

加密验证参数

Ø响应码表

编码

说明

000000

成功

2.6.5sso.logout单点退出

Ø功能说明

退出登录

Ø发起方

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

Ø接口地址

/sso/logout.do

Ø请求参数

序号

名称

必填

类型

说明

1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2