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

下载本文档

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

文档简介

统一用户中心详细设计报告制作人:日期:2018-01版本:目录1系统结构错误!未定义书签。错误!未定义书签错误!未定义书签错误!未定义书签业务子系统接入错误!未定义书签错误!未定义书签安全性要求错误!未定义书签帐号传递机制错误!未定义书签登录界面错误!未定义书签功能说明错误!未定义书签错误用户中心服务系统(UCS)。用户中心管理系统(UMS)。门户系统(Portal)。。2用户中心服务系统(UCS)。用户中心服务系统。系统。。。单点登录!未定义书签!未定义书签单点退出错误!未定义书签组织架构同步错误!未定义书签!未定义书签。会话保持错误。。。消息推送错误!未定义书签表清单错误。数据结构错误。!未定义书签!未定义书签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角色资源关联表错误!未定义书签。T_COMPANY公司表错误。。。。。。。。。。。。。。UC_ROLE_DATA角色数据关联表错误!未定义书签。UC_ROLE_MENU角色菜单关联表错误!未定义书签。UC_ROLE_EMPL角色员工关联表错误!未定义书签。错误!未定义书签错误!未定义书签用户中心提供的接口。通用接口调用方式。登录错误ticket校验错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签修改密码错误!未定义书签忘记密码错误!未定义书签用户注册错误!未定义书签用户修改错误!未定义书签AccessToken获取用户信息错误!未定义书签根据组织架构id获取用户信息错误!未定义书签查询所有用户信息错误!未定义书签id查询用户权限错误!未定义书签AccessToken查询用户权限错误!未定义书签!未定义书签!未定义书签。。保持用户登录状态。单点退出。获取页面统一样式。检查帐号是否可用。用户。。。。根据。。。根据用户。根据。获取组织机构信息错误错误!未定义书签用户退出通知错误!未定义书签。业务子系统需要实现的接口。。用户信息变更通知错误组织架构信息变更通知错误!未定义书签!未定义书签!未定义书签。。3用户中心管理系统(UMS)错误项目管理错误!未定义书签基本信息管理错误!未定义书签。应用。。菜单管理错误数据项管理错误!未定义书签资源项管理错误!未定义书签!未定义书签。。。角色管理错误!未定义书签。角色权限管理错误!未定义书签企业列表错误!未定义书签。企业管理错误。!未定义书签。企业信息维护错误!未定义书签部门列表错误!未定义书签。部门管理错误。!未定义书签。部门编辑错误错误!未定义书签角色列表错误!未定义书签!未定义书签。供应商内部权限管理。。角色权限关联错误!未定义书签员工列表错误!未定义书签。员工管理错误。!未定义书签!未定义书签修改密码错误!未定义书签用户锁定错误!未定义书签员工编辑错误!未定义书签角色授予错误!未定义书签!未定义书签。员工删除错误。。。。。4门户系统(Portal)错误用户登录错误!未定义书签登录页面错误。。!未定义书签!未定义书签会话保持错误!未定义书签!未定义书签。单点登录错误。。单点退出错误用户主页错误!未定义书签主页界面错误。。!未定义书签。导航菜单错误用户注册错误!未定义书签错误页面集成方式错误!未定义书签消息服务集成错误!未定义书签5微信服务号接入错误!未定义书签微信绑定错误!未定义书签!未定义书签。。个人信息管理!未定义书签。。。。。微信消息推送错误错误!未定义书签!未定义书签错误错误!未定义书签!未定义书签。6业务子系统接入。操作流程错误。需要实现的接口!未定义书签。单点登录。会话保持错误!未定义书签。错误!未定义书签组织架构、用户同步错误!未定义书签菜单权限错误!未定义书签数据权限错误!未定义书签资源权限错误!未定义书签!未定义书签单点退出。。。。。消息通知错误针对Java应用环境的封装错误!未定义书签主要功能错误!未定义书签。。。过滤器配置说明错误单机环境配置错误!未定义书签分布式环境配置错误!未定义书签!未定义书签。。。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单点登录用户认证流程用户业务服务认证服务(Browser)(CAS-Client)(CAS-Server)认证服务会话id是否登No已经登录业访问业务系统No务系统录Yes需要发送会话保持信息刷新用户在线状态YesNo业务响应页面处理业务登录响应登录页面Yes登录信息是否正确No登录成功,记录cookie,附带ticket参数回调业务系统记录登录信息,标识登录会话id为登录状态Yesticket是否正验证ticket参数确No登录失败,响应未登录状态登录记录用户信息和权限信息返回用户信息以及对应业务系统的权限信息根据权限信息处理业务数据业务响应页面1.用户访问业务系统如果业务系统session或登录缓存中判断用户没有登录,则控制客户端浏览器跳转到用户中心服务系统(UCS)的统一登录页面;如果业务系统已经登录,则判断是否到达需要发送保持用户登录状态心跳包的时间,向认证服务器用户状态保持接口发送消息;同时,业务服务器处理自有业务,响应用户。2.用户在用户中心服务系统登录完毕,系统记录登录信息并将浏览器跳转到业务系统服务器回跳页面,并带上url参数ticket票据3.业务服务器接收ticket参数向用户中心服务系统验证ticket合法性并获取用户信息和权限信息4.业务系统获取到用户信息,将登录信息记录session或登录缓存,标识已经登录,并根据返回的权限信息检验用户是否有操作权限;验证通过则执行相应业务操作2.4.2会话保持用户登录成功之后,被访问的业务系统需要在当前用户有访问请求时(在线状态)每间隔一段时间(默认3分钟)向用户中心服务系统提交用户在线状态信息。保证认证服务中心能够感知到用户当前的活动状态。认证服务中心在一定时间(默认30分钟)内没有检测到用户的活动信息则判定用户状态为线下。将注销用户登录状态并通知所有业务系统注销该用户的登录状态。2.4.3单点退出与单点登录相对应,单点退出功能可以解决“单点登录”功能在方便用户的同时留下的安全隐患,用户在平台中主动线下或超时线下时,统一身份认证平台会向业务系统发起用户线下通知,告知业务系统,某用户已经线下,请销毁相关Session会话。业务服务认证服务(Browser)(CAS-Client)(CAS-Server)已经登录业Yes访问业务系统用户下线,删务系统除会话信息No各接入系统清除相关退出成功通知所有业务系统用户的登录信息2.4.4组织架构同步用户在门户系统注册,注册数据通过接口保存到用户中心服务系统;全量同步用户中心服务系统开通组织架构全量同步接口,提供给实时性要求不太高的子系统使用;实时增量同步在用户注册、信息变更、服务申请状态变化、删除等操作之后用户中心服务系统主动通知各个子系统变更的用户数据,提供给实时性要求高的子系统使用;2.4.5消息推送监听消息服务器中的消息数据,将各个子系统通过消息中心发出的通知消息推送给绑定的微信账号。2.5数据结构2.5.1表清单名称注释T_COMPANYT_DEPT公司表部门表员工信息用户信息字典表附件表登录账号表业务系统T_EMPLT_USERT_DICTIONARYT_ATTACHMENTUC_ACCOUNTUC_APPUC_BUTTONUC_DATA资源表数据表菜单表角色表UC_MENUUC_ROLEUC_ROLE_COMPANYUC_ROLE_BUTTONUC_ROLE_DATAUC_ROLE_EMPLUC_ROLE_MENU角色公司关联表角色资源关联表角色数据关联表角色员工关联表角色菜单关联表2.5.2T_COMPANY公司表名称COMPANY_IDPARENT_ID类型主键TRUE外键必填注释varchar(50)varchar(50)varchar(200)varchar(200)TRUE公司id父idCOMPANY_NAMECOMPANY_CODE公司名称公司编码CREATE_TIMEZIP_CODEADDRESSEMAILdatetime创建时间公司邮编公司地址公司邮箱公司网址传真varchar(50)varchar(200)varchar(50)varchar(200)varchar(50)varchar(50)varchar(100)varchar(50)varchar(50)varchar(50)WEB_SITEFAXTEL企业电话开户银行银行账户公司法人姓名公司法人联系方式BANKBANK_ACCOUNTLEGAL_NAMELEGAL_TEL2.5.3T_DEPT部门表名称类型主键外键必填注释DEPT_IDPARENT_IDCOMPANY_IDDEPT_NAMECREATE_TIMEDEPT_CODETELvarchar(50)varchar(50)varchar(50)varchar(200)datetimeTRUETRUE部门id上级部门idTRUE公司id部门名称创建时间varchar(200)varchar(50)varchar(50)varchar(50)varchar(500)部门编号电话传真邮编地址FAXZIP_CODEADDRESS2.5.4T_EMPL员工表名称类型varchar(50)varchar(50)varchar(50)varchar(50)datetime主键TRUE外键必填TRUE注释EMPL_ID用户idUSER_IDTRUETRUETRUE用户idCOMPANY_IDDEPT_ID公司id部门idCREATE_TIMEEMPL_CODEEMPL_POSITIONENTRY_TIME创建时间员工编号员工职位入职时间varchar(50)varchar(50)datetime2.5.5T_USER用户表名称类型varchar(50)varchar(50)varchar(100)datetime主键TRUE外键TRUE必填TRUE注释USER_IDACCOUNT_IDUSER_NAMECREATE_TIMESEX用户id账号id姓名创建时间性别(1:男,0:女)邮箱numeric(1,0)varchar(50)varchar(50)varchar(50)EMAILMOBILE手机号IDCARD身份证2.5.6T_DICTIONARY字典表名称类型varchar(50)varchar(50)主键外键必填TRUE注释DICTIONARY_IDDICT_CODETRUE字典id字典编码PARENT_CODEDICT_NAMEDICT_DESCvarchar(50)varchar(100)varchar(500)父编码名称说明2.5.7T_ATTACHMENT附件表名称FILE_ID类型主键外键必填注释varchar(50)varchar(50)varchar(500)varchar(500)numeric(10,0)datetimeTRUETRUE附件idGROUP_ID附件组idFILE_PATHFILE_NAMEFILE_SIZECREATE_TIMECREATE_USERRECORD_TABLE附件路径附件文件名附件大小创建时间创建者varchar(50)varchar(100)主记录所属表2.5.8UC_ACCOUNT登录帐号表名称ACCOUNT_IDACCOUNT_NAMEACCOUNT_PASSWORDIS_ENABLECREATE_TIMEOPEN_ID类型主键外键必填注释varchar(50)varchar(50)varchar(200)numeric(1,0)datetimeTRUETRUE账号id登录名密码是否可用(0:不可用,1:可用)创建时间varchar(50)numeric(1,0)numeric(1,0)numeric(1,0)IS_PLAT是否平台用户IS_SUPP是否是供应商用户IS_BUY是否是采购商用户ACCOUNT_TELvarchar(50)varchar(50)ACCOUNT_EMAIL2.5.9UC_APP业务系统表名称类型主键TRUE外键必填TRUE注释APP_IDvarchar(50)varchar(200)varchar(200)varchar(200)varchar(200)varchar(200)varchar(200)varchar(200)业务系统idAPP_NAME业务系统名称接入密钥SECRET_KEYAPP_LOGO首页展示logo图片首页地址INDEX_URLUSER_NOTIFY_URLDEPT_NOTIFY_URLLOGOUT_NOTIFY_URL用户信息变更通知地址组织信息变更通知地址单点退出通知地址2.5.10UC_BUTTON业务系统资源表名称类型主键TRUE外键TRUE必填TRUE注释BUTTON_IDAPP_IDvarchar(50)varchar(50)varchar(100)varchar(200)varchar(200)numeric(10,0)资源id子系统id资源编码资源名称资源分类序号BUTTON_CODEBUTTON_NAMEBUTTON_CLASSORDER_NUM2.5.11UC_DATA业务系统数据表名称类型主键外键必填TRUE注释DATA_IDvarchar(50)TRUEAPP_IDvarchar(50)TRUE子系统idDATA_CODEDATA_NAMEDATA_CLASSDATA_EXPRESSIONORDER_NUMvarchar(100)varchar(200)varchar(200)varchar(2000)numeric(10,0)数据编码数据名称数据分类数据sql序号2.5.12UC_MENU业务系统菜单表名称类型主键外键TRUE必填TRUETRUETRUE注释MENU_IDvarchar(50)varchar(50)varchar(50)varchar(100)varchar(100)varchar(200)numeric(2,0)TRUEAPP_ID子系统id父idPARENT_IDMENU_NAMEMENU_ICONMENU_URLORDER_NUM菜单名称图标地址排序2.5.13UC_ROLE业务系统角色表名称类型主键外键TRUE必填TRUETRUETRUE注释ROLE_IDvarchar(50)varchar(50)varchar(50)varchar(100)TRUE角色idAPP_ID子系统id创建公司id角色名称COMPANY_IDROLE_NAME2.5.14UC_ROLE_COMPANY角色公司关联表名称类型主键外键必填注释ROLE_IDvarchar(50)varchar(50)TRUETRUETRUETRUETRUETRUE角色id公司idCOMPANY_ID2.5.15UC_ROLE_BUTTON角色资源关联表名称BUTTON_IDROLE_ID类型varchar(50)varchar(50)主键外键必填注释TRUETRUETRUETRUETRUETRUE资源id角色id2.5.16UC_ROLE_DATA角色数据关联表名称DATA_ID类型varchar(50)varchar(50)主键外键必填注释TRUETRUETRUETRUETRUETRUE数据idROLE_ID角色id2.5.17UC_ROLE_MENU角色菜单关联表名称MENU_ID类型varchar(50)varchar(50)主键外键必填注释TRUETRUETRUETRUETRUETRUE菜单idROLE_ID角色id2.5.18UC_ROLE_EMPL角色员工关联表名称ROLE_ID类型varchar(50)varchar(50)numeric(1)主键外键必填注释TRUETRUETRUETRUETRUETRUETRUE角色idEMPL_ID员工idIS_GRANT是否允许授予2.6用户中心提供的接口2.6.1通用接口调用方式通信协议HTTPPOST序号名称必填类型说明加密验证参数使用平台给业务系统分配的接口密钥secretKey与当1secretString前时间(yyyyMMddHHmmss格式)拼接之后使用AES加密,使用十六进制编码得到的字符串响应结构序号名称类型String说明12retCodemessage返回消息码String返回消息描述JSON数据对象:下列所有接口返回数据都在此字段下(无数据返回时,3resultJSON无此字段)公用响应编码说明编码000000成功700000接口令牌无效800000accessToken无效,没有相关用户信息2.6.2登录功能说明接入方控制客户端浏览器跳转登录页面进行登录操作发起方客户端浏览器请求方式浏览器跳转请求地址/sso/请求参数参数名类型说明backurlString登录完成之后的回跳地,URLEncoder(utf-8)编码响应参数名类型说明ticketString获取用户信息的凭证,一分钟过期,一次有效请求示例2.6.3ticket校验功能说明业务系统向用户中心服务系统校验登录ticket是否可用,并获取用户信息发起方业务服务器序号名称必填类型说明1234ticketYNYNStringStringStringBoolean用户登录之后浏览器回跳地址中的ticket参数appId业务系统Idsecret加密验证参数onlySelfRole是否仅自有系统的权限列表响应序号名称类型说明12accesstokenuserStringObjectStringStringIntegerStringStringObject[]用户接口令牌,服务端调用接口时使用用户信息userId用户iduserNameuserTypecompanyIddeptId用户姓名用户类型,员工、供应商公司id部门idservices申请的服务数组服务编号服务名服务状态(1:待审核,业务系统列表业务系统id2:审核拒绝,3:审核通过)appsObject[]角色数组,包含菜单权限,数据权限,资源权限角色名角色编码菜单权限编号列表数据权限列表数据编码数据SQL片段或表达式语句资源权限编号列表响应码表说明编码000000成功800000ticket校验失败服务端异常9000002.6.4保持用户登录状态功能说明保持用户登录状态发起方PORTAL、各个接入单点登录的子系统接口地址/sso/请求参数序号名称必填类型说明12accessTokensecretYYStringString用户接口令牌加密验证参数响应码表说明编码000000成功12accessTokensecretYYStringString用户接口令牌加密验证参数响应码表编码说明成功0000002.6.6获取页面统一样式功能说明获取统一的页面头、尾、菜单等HTML代码段发起方接口地址子系统/portal/请求参数序号1名称必填N类型说明accessTokenString用户接口令牌,不填则表示未登录YString加密验证参数响应序号名称类型String说明123headmenufoot头部信息菜单信息StringObject底部信息响应码表说明成功编码0000002.6.7检查帐号是否可用功能说明PORTAL方账号注册时验证账号可用性发起方PORTAL接口地址/api/account/请求参数序号名称必填类型String说明12accountsecretYY账号String加密验证参数响应码表编码说明成功000000100000账号被占用2.6.8用户修改密码功能说明用户修改密码发起方PORTAL接口地址/api/account/请求参数序号名称必填类型说明12accessTokensecretYYStringString用户接口令牌加密验证参数响应码表编码说明成功000000100000200000修改失败,原始密码错误新密码不符合规范2.6.9忘记密码功能说明通过邮箱找回密码发起方PORTAL接口地址序号名称12accountcodeYYStringString账号图形验证码响应码表说明编码000000成功100000账号不存在200000用户邮件地址无效,邮件发送失败2.6.10用户注册功能说明用户注册PORTAL发起方接口地址/api/user/请求参数序号名称必填类型说明123456secretaccountpasswordnameYYYYNYStringStringStringstringstringInteger加密验证参数用户名登录密码客户真实姓名性别genderuserType用户类别789deptIdbirthdaytelnoYNNstringstringString所属部门id生日手机号码响应码表说明编码000000成功100000用户名冲突密码不符合规范2000002.6.11用户修改功能说明用户信息修改发起方PORTAL接口地址/api/user/请求参数序号名称必填类型说明12345678secretYYYNYYNNStringStringstringstringIntegerstringstringString加密验证参数用户接口令牌accessTokenname客户真实姓名gender性别userTypedeptId用户类别所属部门idbirthdaytelno生日手机号码响应码表2.6.12根据AccessToken获取用户信息功能说明根据AccessToken获取用户信息发起方子系统接口地址/api/user/请求参数序号名称必填类型说明12secretYYStringString加密验证参数用户接口令牌accessToken响应码表编码000000说明成功2.6.13根据组织架构id获取用户信息功能说明根据公司id或部门id获取用户信息发起方子系统接口地址/api/user/序号名称必填类型说明1234secretparentIdpageYYNNStringStringIntegerInteger加密验证参数公司id或部门id当前页码pageSize每页记录条数响应码表说明编码000000成功2.6.14查询所有用户信息功能说明分页查询所有用户信息发起方子系统接口地址/api/user/请求参数序号名称必填类型说明123secretpageYNNString加密验证参数当前页码每页记录条数IntegerIntegerpageSize响应码表说明编码000000成功/api/user/序号名称必填类型说明123secretuserIdappIdYYYStringStringString加密验证参数用户id接入业务系统id响应序号名称类型Object[]String说明1roles角色数组roleNameroleCodemenus角色名String角色编码String[]Object[]String[]菜单权限列表数据权限列表资源权限列表datasbuttons响应码表编码000000说明成功用户不存在100000/api/user/序号名称必填类型说明123secretYYYStringStringString加密验证参数用户接口令牌accessTokenappId接入业务系统id响应序号名称类型说明1rolesObject[]String角色数组roleNameroleCodemenus角色名角色编码StringString[]Object[]String[]菜单权限列表数据权限列表资源权限列表datasbuttons响应码表编码说明成功0000002.6.17获取组织机构信息功能说明序号名称12secretYYString加密验证参数parentIdInteger公司id或父部门id响应码表说明编码000000成功100000父节点不存在2.7业务子系统需要实现的接口2.7.1用户退出通知功能说明用户退出系统时用户中心服务系统将用户信息实时通知给各业务子系统发起方用户中心服务系统接收方业务子系统请求格式application/x-www-form-urlencoded序号名称12secretYYStringString加密验证参数用户接口令牌accessToken响应序号名称类型String说明12retCodemessage返回消息码String返回消息描述响应码表编码000000说明成功异常9000002.7.2用户信息变更通知功能说明用户信息变更时用户中心服务系统将变更后的用户信息实时通知给各业务子系统发起方用户中心服务系统接收方业务子系统请求格式application/x-www-form-urlencoded响应格式序号名称123secretYYYStringIntegerObject加密验证参数updateTypeuser1:注册,2:修改,3:删除用户信息对象响应序号名称类型说明12retCodemessageStringString返回消息码返回消息描述响应码表说明编码000000成功900000异常2.7.3组织架构信息变更通知功能说明组织架构信息变更时用户中心服务系统将变更后的组织架构信息实时通知给各业务子系统发起方用户中心服务系统接收方业务子系统请求格式application/x-www-form-urlencoded序号名称必填类型说明123secretYYYStringIntegerObject加密验证参数updateTypedept1:新增,2:修改,3:删除部门信息对象响应序号名称类型String说明12retCodemessage返回消息码String返回消息描述响应码表编码000000说明成功异常9000003用户中心管理系统(UMS)3.1应用项目管理对于平台管理人员,可以管理各个接入子系统。针对每个业务子系统可以将其定义为一个应用项目3.1.1基本信息管理业务子系统主要属性包含:业务编码appId,认证服务中心接口中注册业务系统的识别码,用于确定唯一业务系统业务子系统的名称用户退出时向业务系统推送退出通知的接口地址业务系统首页地址userNotifyUrl用户信息变更通知地址deptNotifyUrl组织信息变更通知地址3.1.2菜单管理管理项目的菜单列表,菜单以多级树状形式保存各个菜单项主要包含上级菜单、菜单名称、菜单编码、菜单路径、菜单排序号等信息菜单管理列表页原型图3.1.3数据项管理管理项目的数据项列表,包含数据项编码、数据项名称、数据项内容等字段数据项分类用于按类别查询各个数据功能点数据项编码用于匹配子系统中的业务功能,同一功能点不同数据过滤条件的数据编码相同数据项内容可以配置SQL片段语句或者表达式语句,业务系统可以执行相关内容并嵌入到各自的业务模块进行数据过滤3.1.4资源项管理管理项目的资源项列表,资源分为按钮、链接、图片、文本等类别每个资源项包含资源分类、资源编码、资源名称、资源URL等字段资源分类用于按类别查询各个资源项资源编码用于匹配子系统中的资源项,各个子系统内资源编码不能重复业务系统可以根据所属页面和资源编码判断用户是否有权限显示和点击此资源3.1.5角色管理管理各个子系统的角色列表,此角色列表用于给供应商主账号授权,表示一个供应商拥有的最大权限。角色信息包含角色名称、角色编码和角色描述等信息。并能够配置每个角色拥有的菜单权限、数据权限、资源权限。3.1.6角色权限管理角色关联菜单页面用于维护角色所拥有的菜单权限,使用弹出界面展示,菜单内容使用菜单使用复选框选中状态展示权限,使用弹出界面展示,数据内容使用合并为一行,使用复选框标识拥有的数据权限资源权限,使用弹出界面展示,树形组件展示,拥有权限的角色关联数据页面用于维护角色所拥有的数据表格展示,同一数据编码的数据角色关联资源页面用于维护角色所拥有的资源内容使用表格展示,同一类别的数据合并为一行,使用复选框标识拥有的资源权限3.2企业管理3.2.1企业列表对于平台管理员,提供界面展示和维护所有注册的供应商企业信息,每个企业拥有一个主账号。平台管理员可以禁用、启用指定企业账号的登录权限平台管理员可以查看和编辑企业所拥有的角色权限信息,企业所具有的角色在服务申请审批时在后台指定。企业管理列表页面原型图3.2.2企业信息维护供应商可以维护自己的企业基本信息3.3部门管理对于有管理内部组织架构需求的公司或供应商,可以提供组织架构管理功能,用于管理内部部门信息。3.3.1部门列表组织机构支持多级管理,信息项包括机构名称、上级机构、排序、描述等信息。部门管理页面采用左边树形组织架构,右边部门表格列表形展式现,点击左侧部门右边表格显示下级部门信息3.3.2部门编辑点击部门列表页面的添加按钮时为左侧选中部门添加下级部门。左侧没有选择部门时添加一级部门点击部门列表页面的编辑按钮时可以编辑指定的部门数据3.4供应商内部权限管理供应商管理人员可以维护企业内部的角色权限信息,新建自定义角色,给每个角色指定各种不同的权限功能。3.4.1角色列表3.4.2角色权限关联供应商内部授权界面与平台角色授权界面一致,数据来源为供应商主账号所拥有的所有权限。3.5员工管理对于有管理内部人员需求的公司或供应商,可以提供用户管理功能,用于管理内部员工和账号权限信息。企业管理员可以为企业增加子账号,并为各个子账号分配不同的权限。3.5.1员工列表员工管理页面采用左边部门树,右边员工表格列表形式展现,点击左侧部门右边表格显示部门所属员工信息左侧部门树没有选中项时右侧默认展示所有员工信息3.5.2员工删除删除员工时删除员工与部门的关联数据,保留员工基本信息,员工账号状态设为禁用,以保证历史业务不受影响。企业主账号不允许删除。3.5.3修改密码管理人员点击员工列表的修改密码按钮可以修改员工的登录密码3.5.4用户锁定管理人员点击员工列表的锁定/解锁按钮可以锁定员工的登录帐号,控制员工能否登录系统。企业主账号不允许禁用。3.5.5员工编辑点击员工列表页面的添加按钮时为左侧选中部门添加部门员工。左侧没有选择部门时新添加员工不关联部门信息员工信息包含用户账号、类型、姓名、电子邮箱、性别、电话、所属组织、所拥有角色、用户状态等关键属性员工编辑页面提供为员工绑定多个部门,并且各个部门单独分配角色的功能,以实现人员在多部门任职且职务不同的特殊需求3.5.6角色授予供应商管理人员可以角色列表数据来源为供应商管理人员指定被授予的角色能否由被授予人继续授予给他人能够给企业分配的最大权限为供应商主账号所有权限企业主账号默认授予企业管理员在用户编辑界面给用户授予指定角色所有使用权限管理功能建立的自定义角色数据可以子账号所拥有的角色,不允许修改4门户系统(Portal)门户系统基于现有中文站进行升级改造。4.1用户登录4.1.1登录页面Portal以CAS-Client方式接入用户中进行登录。Portal原有一使用用户中心服务系统的登录页面。心服务系统,调用用户中心服务系统的登录界面的登录页面停用,统4.1.2单点登录增加登录过滤器SsoFilter,监听所有如果存在ticket参数则从服务器session中注销当前登录用户证ticket合法性,根据接口返回的登录用户数据在session中存放登录用户后端请求,拦截地址栏参数ticket;,调用ticket接口验信息,标识登录状态;如果不存在ticket参数,则在服务器session中判断用户登录状态,如果已经登录则执行后续业务流程,如果没有登录则控制浏览器跳转登录页面(接口)4.1.3会话保持在登录过滤器SsoFilter中加入会话保持时间判断逻辑,默认每隔三分钟调用一次接口保持用户在线状态。4.1.4单点退出退出功能需要调用接口通知用户中心和所有子系统做退出操作。4.2用户主页4.2.1主页界面用户主页上方为项目信息展示区,包含项目名称、登录账号、修改密码、退出系统等功能;用户主页左边为项目资源区,通过树形结构将当前用户已申请的服务进行展示,通过点击能跳转到服务对应的业务子系统;对未申请的服务可以提交申请门户系统提供包含所有子系统的消息提醒,点击消息连接可以跳转到对应子系统。4.2.2导航菜单左侧导航菜单根据单点登录返回的用户数据中的权限信息显示不同的菜单链接。左侧菜单包含UMS系统的菜单数据,以及部分具有权限的子系统的菜单数据。4.3用户注册用户注册数据提交给认证服务器做注册逻辑,门户系统不再单独保存用户数据。注册完成之后认证服务器会通知各个子系统新增的用户信息。注册的新用户对应一个企业主账号,主账号可以在UMS系统中管理自己下属组织架构和人员账号信息。4.4个人信息管理门户系统提供用户信息维护界面,用户信息数据通过接口提交给用户中心服务系统进行保存。个人信息变更之后认证服务器会通知各个子系统变更的用户信息。4.5页面集成方式业务子系统需要有统一的界面风格;业务系统通过调用接口获取页面顶部标题、用户、通知信息和页面左侧菜单信息的接口,相应html片段;业务子系统在实现单点登录、获取用户信息之后通过传入用户id可以获取到页面基础布局的html片段,然后将这个html片段拼接到自身业务数据页面头尾相应位置即可实现与门户一致的界面外观,用户信息展示。门户系统通过接口读取消息数据,将所有子系统的消息集成到门户中进行统一展示和跳界面中展示微信公众号二维码提供给用户关注公众号;用户中心服务系统会监听所有系统消息,如果消息接收者绑定了微信账号,则将消息同申请appId接入用户中心服务系统,手动分配业务系统的appId和接口密钥secretKey,并在UMS系统填写业务系统的基本信息在UMS系统录入业务系统的菜单信息在UMS系统录入业务系统的数据权限项,如果子系统需要自行控制数据权限可以不录入在UMS系统录入业务系统的资源权限项,如果子系统需要自行控制资源权限可以不录入在UMS系统录入业务系统需要的角色信息,并设置角色对应的菜单权限、数据权限和资实现单点登录、单点退出、会话保持,接入用户中心服务系统(UCS)如子系统有内部用户组织架构,需要实现用户和组织架构同步接口,根据业务需要可选择实现定时全量同步和实时增量同步接口实现权限控制根据需要接入权限过滤,根据用户登录时返回的角色信息以及角色对应的菜单、数据、资源信息对用户的权限进行过滤。6.2需要实现的接口6.2.1单点登录以Filter的方式监听所有请求,如未登录则跳转用户中心服务系统的登录页面进行登录,需要传递登录成功之后的回调地址以Filter的方式监听所有请求,如果请求包含ticket参数,则调用用户中心服务系统ticket校验接口验证ticket合法性并获取用户信息和角色权限信息,供应商平台将数据存储到session中,标识该用户登录成功6.2.2会话保持以Filter的方式监听所有请求,如果用户访问页面时距离上一次调用会话保持接口超过三分钟,则调用该接口通知用户中心服务系统该用户仍然在线。以保证各个业务系统和用户中心服务系统中用户登录状态的一致性。6.2.3单点退出在UMS系统中设置单点退出通知地址logoutNotifyUrl并实现接口实现用户退出6.2.4组织架构、用户同步实时增量同步实现用户通知接口和组织架构通知接口两个接口,用户中心会在用户信息和组织架构信息发生变化时将变化信息通知给业务子系统同步更新自有用户数据库。定时全量同步子系统定时调用获取组织架构和获取用户接口获取子系统自有数据库。业务全量组织架构和用户数据,更新6.2.5菜单权限登录用户权限的数据中包含有菜单权限列表业务子系统可以遍历用户拥有的菜单项的code字段对应上表给用户提供相应的菜单选项业务子系统以Filter的方式监听所有菜单的URL,如果用户拥有对应菜单的权限则可以响应对应页面,如果没有权限则响应无相应权限提示,对请求拦截过滤,进行对应菜单的权限控制。数据权限列表中的数据项编码字段标识业务系统该数据项影响哪些业务;数据项内容字段可以填写SQL片段或者供应商平台能够执行的表达式语句;在业务平台处理业务时,在用户的数据权限项中查找是否有对应业务的数据项,如果存在则将数据项内容嵌入到业务场景中。可以是SQL片段拼接到业务SQL中或者是表达式执行登录用户权限的数据中包含有资源权限列表资源权限列表中的所属页面和资源编码字段用来标识业务系统该资源项影响哪个页面;隐藏或禁用该资源业务子系统将消息通知存入消息中心服务器,用户中心会通过接口方式获取用户消息数对于使用Java开发的子系统,提供Jar包方式的封装。单点登录基于单点登录的Filter实现,接入方只需要配置单点登录Filter即可自动实现此功能通用头尾HTML片段接口调用调用getPageMould(HttpServletRequest)即可获取当前会话的页面头、尾、菜单等HTML片段数据6.3.2过滤器配置说明配置SsoFilter时需要设置ssoConverter参数,此参数用来存储和转换业务系统和用户中心之间的数据。此参数为接口SsoConverter的实现类名。接口定义如下:publicinterfaceSsoConverter{/***设置当前用*@paramrequest*@paramresponse*@p

温馨提示

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

评论

0/150

提交评论