浪潮 Loushang5 BSP 开发指南.doc_第1页
浪潮 Loushang5 BSP 开发指南.doc_第2页
浪潮 Loushang5 BSP 开发指南.doc_第3页
浪潮 Loushang5 BSP 开发指南.doc_第4页
浪潮 Loushang5 BSP 开发指南.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

浪潮浪潮 Loushang5 BSP 开发指南开发指南 Copyright 2009 2010 Inspur group All Rights Reserved 浪潮 Loushang5 BSP 开发指南 文档状态 发布版 山东浪潮齐鲁软件产业股份有限公司 浪潮浪潮 Loushang5 BSP 开发指南开发指南 Copyright 2009 2010 Inspur group All Rights Reserved 版权说明 浪潮 Loushang5 BSP 开发指南 的版权归山东浪潮齐鲁软件产业股份有 限公司所有 未经山东浪潮齐鲁软件产业股份有限公司的书面准许 不得将本 文档的任何部分以任何形式 采用任何手段 电子的或机械的 包括照相复制 或录制 或为任何目的 进行复制或扩散 Copyright 2009 2010 山东浪潮齐鲁软件产业股份有限公司 版权所有 翻制必究 浪潮浪潮 Loushang5 BSP 开发指南开发指南 Copyright 2009 2010 Inspur group All Rights Reserved 前言 本文档旨在对 BSP 各组件的对外 API 进行细致的描述 同时对开发人员使 用过程中碰到的细节问题进行归纳和阐述 希望通过本文档的介绍 能够使得 开发人员能够不仅熟练的掌握各组件的使用 而且能够较深入的理解组件应用 的场景 由于时间仓促 编者水平有限 希望用户能够提出宝贵意见 以逐步完善 本手册的内容 浪潮浪潮 Loushang5 BSP 开发指南开发指南 Copyright 2009 2010 Inspur group All Rights Reserved 阅读指南 文档目标 通过介绍使开发人员对 BSP 的业务组件有所了解 帮助开发人员在业务系 统 中更好的应用与实践 阅读对象 本文档是为基于 BSP 进行业务应用开发的软件设计和开发人员所编写的 文档构成 本文档由七个章节构成 其中 引言 介绍了 BSP 的定位以及文档中涉及 到词汇 后续每一章节介绍一种业务组件 文档约定 凡是未在该文档中涉及到接口均不对外调用 如若调用 后果自负 注意 的意思是请读者注意那些需要注意的事项 警告 的意思是请读者千万注意某些事项 否则将造成严重错误 浪潮浪潮 Loushang5 BSP 开发指南开发指南 Copyright 2009 2010 Inspur group All Rights Reserved 目 录 1引言 1 1 1概述 1 1 2词汇表 1 2配置管理 2 2 1简介 2 2 2配置参数 2 2 2 1系统配置 2 2 2 2安全配置 3 2 3场景 4 2 3 1研发阶段 4 2 3 2产品阶段 5 3组织机构 6 3 1简介 6 3 2接口介绍 6 3 2 1接口关系 6 3 2 2接口使用 7 3 2 3接口一览 7 3 3通用帮助 16 3 3 1参数描述 16 3 3 2演示示例 16 3 4高级篇 19 3 4 1组织数据同步分发 19 3 4 2组织属性扩展 21 4安全 22 4 1简介 22 4 2接口介绍 22 4 2 1接口关系 23 4 2 2接口使用 23 4 2 3接口一览 23 4 3通用帮助 29 4 3 1参数描述 30 4 3 2演示示例 30 4 4认证和授权 30 4 4 1认证 30 4 5高级篇 34 浪潮浪潮 Loushang5 BSP 开发指南开发指南 Copyright 2009 2010 Inspur group All Rights Reserved 4 5 1用户信息数据同步分发 34 5业务流水 37 5 1简介 37 5 2接口介绍 37 5 2 1接口关系 37 5 2 2接口一览 37 5 3演示示例 39 5 3 1示例 A 技术审查报告编号 39 5 3 2示例 B 现场检查通知 红头文 编号 40 6工作日历 42 6 1简介 42 6 2接口介绍 42 6 2 1接口关系 43 6 2 2接口一览 43 6 3演示示例 47 7数据字典 48 7 1简介 48 7 2接口介绍 48 7 2 1接口关系 48 7 2 2接口一览 48 7 3演示示例 列表展示 48 浪潮浪潮 Loushang5 BSP 开发指南开发指南 1 1 引言 1 1 概述 业务服务平台 BSP 致力于通用业务模型的提炼与开发 组织机构 安 全 业务流水 工作日历 数据字典等这些业务组件是任何一个企业级应用系 统的基础 由于这些组件是基础业务组件 二次开发人员基于业务服务平台进 行开发时 可能会依赖于这些业务组件 所以我们提供了丰富的接口供二次开 发调用 另外 业务层次上没有一个标准的需求分析和实现模型 客户也经常 提出个性化需求 考虑到这些因素 我们也提供了灵活的扩展机制 用 BSP 提供的通用业务模型进行开发 可以提高资源的复用度 缩短产品 开发周期 降低系统开发成本 运用 BSP 进行开发可以提高系统的应变能力 增强系统的柔性 降低信息系统异构平台集成的难度 本文档首先介绍各个模块使用频率较高的二次开发接口基本功能及高级扩 展功能 这些模块包括组织机构 安全 工作日历 业务流水及数据字典等 1 2 词汇表 4A Account Authentication Authorization Audit 浪潮浪潮 Loushang5 BSP 开发指南开发指南 2 2 配置管理 2 1 简介 配置管理是用来对运行前或运行期间使用到的参数的调整 通过对不同参 数的配置来达到各种运行场景的实现 另外也提供了二次开发类库的管理 2 2 配置参数 2 2 1系统配置 属性 关键字属性 关键字描述描述 org loushang bsp organization check post 岗位底下是否只能有一个员工的开关状态 false 表示岗位底下可以有多个员工 bsp userId case sensitive 用户登录帐号是否大小写敏感 bsp collectmenu enable 是否启用收藏菜单 false 不启用 true 启用 LDAP 连接配置连接配置 LDAP DIRECTORYURL目录地址 例如 ldap 10 162 11 189 389 LDAP ADMINISTRTOR Ldap 管理员账号 LDAP PASSWORD 密码 LDAP SEARCHBASEDN Ldap 查询范围 例如 dc demo dc tam dc com LDAP FILTER Ldap 过滤对象 例如 objectclass user LDAP ATTRIBUTESLdap 的属性 各属性间通过 分隔 例如 samaccountname name 浪潮浪潮 Loushang5 BSP 开发指南开发指南 3 LDAP TYPE Ldap 产品的提供者 例如 AD IBMTDS LDAP SERVERLDAP 服务器名 例如 2 2 2安全配置 属性 关键字属性 关键字描述描述 authentication mainPage 登录系统后显示的主界面 authentication loginFormPage 登录页面 authentication buildCredital 构建认证方式前缀 后边添加 login jsp 中 登录 action j bsp security check 的后缀 例如 Login jsp 中的 action 为 j bsp security check default 则这里就配置成 authentication buildCredital default org loush ang bsp security authen token buildtoken Buil dUserNamePasswordToken authentication provider 认证提供者 以 authentication provider 为 前缀 例如 authentication provider usernamepassword or g loushang bsp security authen provider User NamePasswordAuthenticationProvider authentication isSSO 单点登录的开关 true 是 false 否 authorization productModel 产品模式的开关 true 需要权限校验 false 不需求权限校验 authorization excludeTargets 不进行权限校验的 web 资源 浪潮浪潮 Loushang5 BSP 开发指南开发指南 4 authorization accessDecisionVoter 采用的投票器 以 authorization accessDecisionVoter 为前缀 可 配置多个 authorization rule combining algorithm 权限算法 取值为 deny 或者 permit 这个算法的前提是在于访问的 web 资源没 有被注册 deny 拒绝 permit 许可 authorization rememberUpRequest 会话超时或未登录系统前 是否记住本次 的访问请求 true 记住 false 不记住 session maxInactiveInterval 会话的最大时效 单位秒 1 表示无限期 session controlCurrent 是否控制当前 session 的最大个数 session numberLimit 最大会话数 session exceedLimitKickOut 超过会话数 是否踢出已登录用户 2 3 场景 BSP 提供的业务组件既可以面向二次开发人员进行封装调用 也可以最终 面向客户进行界面定义 故在使用的不同层面有不同的参数来对其进行约束 下面仅对研发和产品阶段常用参数进行描述 2 3 1研发阶段 本阶段是面向二次开发人员进行业务研发时常用 二次开发人员在充分了解业务需求的基础上进行业务研发 这时需要关注 组织机构是否是一岗一人还是多人 而不需要在调试程序时关心其它资源是否 能越级访问的问题 authorization productModel false 来定义成研发模式 org loushang bsp organization check post 来根据业务进行调整 浪潮浪潮 Loushang5 BSP 开发指南开发指南 5 2 3 2产品阶段 本阶段是作为完整的业务产品进行推广时常用 既然作为最终产品 首先要考虑到该软件的安全性 比如是否所有人员都 能进行访问资源 然后可能会想到会话时间 产品的主界面易用性等 我们用安全配置参数中的 authorization productModel true 来表示并非所有人员都能操作软件 session maxInactiveInterval 1800 半个小时 来表示会话时间长短 authentication mainPage main jsp 来指定产品包装后的主页面等 浪潮浪潮 Loushang5 BSP 开发指南开发指南 6 3 组织机构 3 1 简介 组织机构是任何一个企业级应用系统的基础 在二次开发中 经常需要调 用组织结构接口 比如计划模块的提交计划功能 员工填写计划完毕后提交自 己的直接上级 二次开发人员需要调用业务服务平台接口根据员工编号获取其 直接上级的员工编号 再如人力资源模块查看员工的个人信息功能 系统也要 在员工的个人信息页面显示直接上级信息 3 2 接口介绍 组织机构对外提供的类都在 org loushang bsp share organization 下 共涉及如下几个类和接口 3 2 1接口关系 类和接口类和接口 说明说明 IOrganProvider 组织机构对外暴露的查询接口组织机构对外暴露的查询接口 OrganFactory 组织机构对外调用的工厂类组织机构对外调用的工厂类 OrganView 组织视图组织视图 StruView 组织结构视图组织结构视图 浪潮浪潮 Loushang5 BSP 开发指南开发指南 7 StruView OrganView OrganFactory IOrganProvider 3 2 2接口使用 先使用工厂类获取对外接口 IOrganProvider op OrganFactory getIOrganProvider 然后调用 3 2 3 节相关的 API 即可 3 2 3接口一览 3 2 3 1组织机构对外暴露的查询接口 IOrganProvider 1 方法说明 方法说明 public OrganView getOrganByOrganId String organId 说明说明根据组织实体内码获得组织实体对象 参数说明参数说明organId 组织内码 返回值返回值OrganView 持有组织信息的 OrganView 对象 2 方法说明 方法说明 public StruView getListByOrganId String organId 说明说明根据机构内码查询机构对应的所有结构记录 参数说明参数说明organId 组织内码 返回值返回值元素为 struView 的数组 3 方法说明 方法说明 浪潮浪潮 Loushang5 BSP 开发指南开发指南 8 public StruView getParentList String struId 说明说明获得一个组织成员在所有组织结构中的上级列表 参数说明参数说明struId 组织结构内码 返回值返回值元素为 struView 的数组 4 方法说明 方法说明 public OrganView getEmployeeUnderlingOrganList String organId 说明说明查询员工的所有下属 参数说明参数说明organId 组织内码 返回值返回值元素为 organView 的数组 5 方法说明 方法说明 public StruView getCorporation String struId 说明说明获取一个组织成员所属法人 参数说明参数说明struId 组织结构内码 返回值返回值所属法人的 StruView 对象 6 方法说明 方法说明 public StruView getUnderling String struId String organType boolean isIncludeSubCorporation 说明说明获得某组织的所有某组织类型下属列表 参数说明参数说明struId 此组织的组织结构内码 organType 组织类型代码 1 公司 2 部门 6 岗位 8 员工 isIncludeSubCorporation 查询范围是否包含下级子公司 true 则包含 false 不包含 返回值返回值返回元素为 StruView 的数组 7 方法说明 方法说明 public OrganView getDepartmentOfEmployee String organId 说明说明查询员工在人力资源组织结构中的所属部门 参数说明参数说明organId 组织内码 返回值返回值员工所属部门的 OrganView 数组对象 8 方法说明 方法说明 浪潮浪潮 Loushang5 BSP 开发指南开发指南 9 public StruView getTopMember String struType 说明说明获得组织机构内某组织视角的最高机构 参数说明参数说明 struType 组织视角代码 返回值返回值StruView 某类型组织结构的最高机构 9 方法说明 方法说明 public OrganView getUnderLingOrganListByOrganId String organId String struType 说明说明根据组织内码查询组织在结构类型中的所有下属 参数说明参数说明organId 组织内码 struType 组织视角代码 返回值返回值元素为 OrganView 的数组 10 方法说明 方法说明 public StruView getListByOrganId String organId String struType 说明说明查询某组织在对应组织结构中的结构记录 参数说明参数说明organId 组织内码 struType 组织视角代码 返回值返回值struView 数组 11 方法说明 方法说明 public StruView getParent String struId 说明说明获得一个组织成员在所有组织结构中的上级 参数说明参数说明struId 组织结构内码 返回值返回值StruView 组织机构对象 12 方法说明 方法说明 public StruView getStruByStruId String struId 说明说明根据组织关系代码获得结构对象 参数说明参数说明struId 组织结构内码 返回值返回值StruView 对象 13 方法说明 方法说明 public StruView getDirectUnderling String struId String struType 浪潮浪潮 Loushang5 BSP 开发指南开发指南 10 说明说明返回某组织成员的直接下级 参数说明参数说明struId 组织成员内码 struType 组织视角代码 比如人力资源为 00 返回值返回值返回元素为 StruView 的数组 14 方法说明 方法说明 public PubOrganParms get String organId String parmsName 说明说明取得 组织参数表 一条明细 参数说明参数说明organId 组织内码 parmsName 组织参数名称 返回值返回值PubOrganParms 对象 15 方法说明 方法说明 public OrganType getAllOrganType 说明说明获得所有组织类型 参数说明参数说明无 返回值返回值organType 的数组 16 方法说明 方法说明 public String getLoginUserDepartName 说明说明获取登录用户所属部门名称 参数说明参数说明无 返回值返回值String 对象 17 方法说明 方法说明 public StruView getDirectUnderlingByOrgantype String struId String organType 说明说明获取某种类型的直接下属 例如获取信息中心直属的员工 参数说明参数说明organId 组织内码 organType 机构类型 返回值返回值StruView 的数组 18 方法说明 方法说明 OrganView getDirectPrincipalsOrganListByOrganId String organId 浪潮浪潮 Loushang5 BSP 开发指南开发指南 11 说明说明获取指定机构的直接负责人 参数说明参数说明organId 组织内码 返回值返回值OrganView 的数组 19 方法说明 方法说明 OrganView getUnderLingByOrganId String organId String organType String struType 说明说明根据组织内码查询指定组织视角下某种组织类型的所有下属 参数说明参数说明organId 组织内码 organType 组织类型 struType 机构类型 返回值返回值OrganView 的数组 20 方法说明 方法说明 OrganView getEmployeePrincipalsOrganList String organId 说明说明查询员工的所有负责人 负责岗 包括负责人的负责人 参数说明参数说明organId 组织内码 返回值返回值OrganView 的数组 21 方法说明 方法说明 OrganView getAllEmployees boolean flag 说明说明获取所有员工的信息 参数说明参数说明flag 是否精确 模糊匹配 true 精确 false 模糊 返回值返回值OrganView 的数组 3 2 3 2组织视图 OrganView 1 方法说明 方法说明 public String getOrganId 说明说明获取组织单元内码 Id 参数说明参数说明 返回值返回值组织单元内码 Id 2 方法说明 方法说明 浪潮浪潮 Loushang5 BSP 开发指南开发指南 12 public String getOrganCode 说明说明获取组织单元编码 参数说明参数说明 返回值返回值组织单元编码 3 方法说明 方法说明 public String getOrganName 说明说明获取组织单元名称 参数说明参数说明 返回值返回值组织单元名称 4 方法说明 方法说明 public String getShortName 说明说明获取组织单元名称简称 参数说明参数说明 返回值返回值组织单元名称简称 5 方法说明 方法说明 public String getOrganType 说明说明获取组织单元类型编码 参数说明参数说明 返回值返回值组织单元类型编码 3 2 3 3组织结构视图 StruView 1 方法说明 方法说明 public String getStruId 说明说明获取组织结构内码 参数说明参数说明 浪潮浪潮 Loushang5 BSP 开发指南开发指南 13 返回值返回值组织结构内码 2 方法说明 方法说明 public String getStruType 说明说明获取组织视角编码 参数说明参数说明 返回值返回值组织视角编码 3 方法说明 方法说明 public String getStruPath 说明说明获取组织单元的树形路径 参数说明参数说明 返回值返回值组织单元的树形路径 说明 用 号连接的组织结构内码 4 方法说明 方法说明 public int getStruOrder 说明说明获取组织单元的位置号 参数说明参数说明 返回值返回值组织单元的位置号 5 方法说明 方法说明 public String getOrganCode 说明说明获取组织单元编码 参数说明参数说明 返回值返回值组织单元编码 6 方法说明 方法说明 public String getOrganId 说明说明获取组织单元的内码 Id 参数说明参数说明 浪潮浪潮 Loushang5 BSP 开发指南开发指南 14 返回值返回值组织单元的内码 Id 7 方法说明 方法说明 public String getOrganType 说明说明获取组织单元所属的组织类型 参数说明参数说明 返回值返回值组织单元所属的组织类型 例如 1 代表单位 2 代表部门 8 方法说明 方法说明 public String getOrganName 说明说明获取组织单元的名称 参数说明参数说明 返回值返回值组织单元的名称 9 方法说明 方法说明 public String getParentId 说明说明获取组织单元的父级内码 Id 参数说明参数说明 返回值返回值组织单元的父级内码 Id 10 方法说明 方法说明 public String getStruTypeName 说明说明获取组织视角名称 参数说明参数说明 返回值返回值组织视角名称 11 方法说明 方法说明 public String getOrganTypeName 说明说明获取组织单元所属组织类型名称 浪潮浪潮 Loushang5 BSP 开发指南开发指南 15 参数说明参数说明 返回值返回值组织单元所属组织类型名称 12 方法说明 方法说明 public String getDeptId 说明说明获取组织单元的所在部门内码 Id 参数说明参数说明 返回值返回值组织单元的所在部门内码 Id 13 方法说明 方法说明 public String getDeptName 说明说明获取组织单元的所在部门名称 参数说明参数说明 返回值返回值获取组织单元的所在部门名称 14 方法说明 方法说明 public String getCropId 说明说明获取组织单元的所在单位内码 Id 参数说明参数说明 返回值返回值组织单元的所在单位内码 Id 15 方法说明 方法说明 public String getCropName 说明说明获取组织单元的所在单位名称 参数说明参数说明 返回值返回值组织单元的所在单位名称 16 方法说明 方法说明 public String getPrincipalId 说明说明获取组织的负责人或负责岗内码 id 参数说明参数说明 返回值返回值组织的负责人或负责岗内码 id 浪潮浪潮 Loushang5 BSP 开发指南开发指南 16 17 方法说明 方法说明 public String getPrincipalName 说明说明获取组织的负责人或负责岗名称 参数说明参数说明 返回值返回值组织的负责人或负责岗名称 3 3 通用帮助 组织结构作为业务中通用的组件 经常被其他模块进行依赖 为了能够提 供灵活的帮助框来辅助研发 BSP 提供了丰富的配置参数来辅助树形或列表形 式的展现 警告 目前组织机构对外的帮助编码为 bsp organhelp 3 3 1参数描述 参数名称取值含义 rootId要选择的组织结构的根 取 struId 的值 如果不指定的话 取当前登录单位和数据权限的最小值 organType组织类型 如果需要选择多种组织类型 则请以 号 分割 默认值为 0 表示全部类型都是可以选择 isCheckBox0 单选 1 多选 isExact表示是否实行组织的精确匹配 1 表示是 0 表示否 参数含义 若这个值为 1 则表示树形帮助框中只显示在 showOrganType 和 organType 中出现的参数 定义了的组织 类型 其他的都不显示和选择 默认值为 0 showOrganType用来控制显示的组织类型 如果需要显示多种组织类型 则请以 号分割 默认值为 0 表示全部类型都是 可以选择 3 3 2演示示例 在这里介绍通用帮助如何在业务中进行调用使用的 主要描述一下使用过程 浪潮浪潮 Loushang5 BSP 开发指南开发指南 17 1 在 Jsp 中插入通用帮助按钮 并调用 JS 中定义的方法 在 Jsp 文件中内容如下 编码 名称 最高组织单位 img src style c ursor hand onclick select 备注 以上代码 可以显示为如下的界面 注 因为涉及 dataset 的设置 故不能直接将上述代码拷贝运行 2 添加帮助按钮调用的 JS 方法 在 JS 方法中实现对帮助框的调用 如下所示 function select var url jsp public help help jsp helpCode bsp organhelpbsp organhelpdialogWidth 450px resizable no scroll yes if revalue var list revalue split list 0 organId list 1 organName list 2 struId list 3 deptId list 4 deptName list 5 corpId list 6 corpName var mgr ds getCurrent ds set rootId list 0 L5 fly rootId dom value list 0 说明 1 helpCode 的值为在通用帮助窗口中定义的 URL 编码 2 对于参数 isExact 的使用注意事项 它表示是否进行组织类型显示的精 确匹配 例如 原先要显示所有法人级别的组织类型 如果输入 1 那么它的 扩展 11 12 13 等等 都默认全部显示 而加上 isExact 1 则表示只显示 1 不显示 1 这种组织类型的扩展 如果要显示的话 则在 showOrganType organType 参数后面明确的加上即可 3 对于 showOrganType 的说明 如果这个参数为 的话 就表示只显示和选择所列举出来的 showOrganType 和 organType 那么显示出来的树形 会出现如果一个节点 A 的直接下级没有满足要求的 organType 那么即使它的直接下级 B 这个节点下 面还有满足要求的节点 C 那么 点击这个节点 A 由于 B 节点不会显示 所 以 C 也出不来 如下图 浪潮浪潮 Loushang5 BSP 开发指南开发指南 19 如果 showOrganType 1 4 和 organType 4 那么上面的树形只会显示 A D 如果要 C 显示并且可选的话 那么只要在改成 showOrganType 1 2 4 当 然如果不设置这个参数的话 默认是显示所有的组织结构 即 showOrganType 0 4 上述代码中绿色的部分 list 0 organId list 1 organName list 2 struId list 3 deptId list 4 deptName list 5 corpId list 6 corpName 是返回值 分别表示组织的 organId organName struId deptId 所属 部门 deptName 部门名称 corpId 所属公司 corpName 公司名称 5 当点击通用帮助框的清除按钮时 是将用通用帮助赋值的域的值清空 此时 通用帮助所有返回值 均返回空 即 6 使用通用帮助时 在 js 函数里面 对通用帮助的返回值要进行判断 即增加代码 if revalue 业务逻辑 防止点击通用帮助框的关闭叉 不是关闭按钮 报 js 错误 浪潮浪潮 Loushang5 BSP 开发指南开发指南 20 3 4 高级篇 3 4 1组织数据同步分发 为了做数据集成使用 以 BSP 为主 向各业务系统提供组织等基础数据的 同步 一般是通过 web 服务进行数据处理 这部分是同步组织机构的接口 3 4 1 1接口介绍 路径 org loushang bsp organization domain IStruDispatcher 1 方法说明 方法说明 void create String organXml 说明说明创建组织 参数说明参数说明 organXML xml 格式的组织数据 返回值返回值无 2 方法说明 方法说明 void update String organXml 说明说明修改组织 参数说明参数说明 organXML xml 格式的组织数据 返回值返回值无 3 方法说明 方法说明 void delete String id 说明说明删除组织 参数说明参数说明 id 组织的主键 ID 返回值返回值无 浪潮浪潮 Loushang5 BSP 开发指南开发指南 21 3 4 1 2数据格式 S00000000000000010 O00000000000000010 00 O0000000000000001 S0000000000000001 S00000000000000010 O00000000000000010 技术研究中心 1 1 O0000000000000001 信息中心 O0000000000000000 公司 1 3 4 1 3开发流程 1 实现 IStruDispatcher 接口 2 将接口的实现类注册到 BSP 监听器仓库中 说明 说明 目前 BSP 监听器仓库使用文件进行存储 存储路径为 WEB INF classes bsp properties 存放规则为 前缀 struDispacher 自定义名字 接口实现类 例如 listener repository 监听器仓库开始 struDispacher hr org hr HrOrganDispatcher listener repository 监听器仓库结束 浪潮浪潮 Loushang5 BSP 开发指南开发指南 22 3 4 1 4演示示例 待扩充 3 4 2组织属性扩展 待扩充 浪潮浪潮 Loushang5 BSP 开发指南开发指南 23 4 安全 4 1 简介 安全管理是实现企业应用系统安全的重要保证 一个灵活的安全系统将使 得系统变得简单易用 并且控制性极强 任何企业应用系统不可避免的涉及到 系统安全问题 系统的使用者越多 使用者本身的社会属性或分工越复杂 安 全及权限管理问题也就越复杂 安全管理涉及到传输安全 认证 授权和审计的管理 我们对 4A 安全方面 尽量都做到了管理 使用户完全可以复用我们的安全模块实现企业级安全管理 的功能 而对于较复杂的安全需求 我们提供了一些扩展点 用户可以在这些扩展 点之上实现完整而强大的安全管理功能 4 2 接口介绍 安全对外提供的类在 org loushang bsp share permit 以及 org loushang bsp security context 下 共涉及如下几个类和接口 类和接口类和接口 说明说明 SecurityFactory 安全 权限 对外调用的工厂类 ISecurityProvider 安全 权限 对外暴露的查询接口 RoleView 角色视图 UserInfo 用户视图 UserDataPermitView 数据权限视图 GetBspInfo 获取登录用户信息的接口 BspInfo 登录用户信息 浪潮浪潮 Loushang5 BSP 开发指南开发指南 24 4 2 1接口关系 SecurityFactory RoleView UserDataPermitView ISecurityProvider UserInfo 4 2 2接口使用 先使用工厂类获取对外接口 ISecurityProvider sp SecurityFactory getISecurityProvider 然后调用 4 2 3 1 节相关的 API 即可 获取当前用户信息 BspInfo bspInfo GetBspInfo getBspInfo 然后调用 BspInfo 对象的方法即可 详见 4 2 3 6 4 2 3接口一览 4 2 3 1 安全 权限 对外暴露的查询接口 ISecurityProvider 1 方法说明 方法说明 public boolean hasPermission String userId String credential String url String method 说明说明判定用户是否有相应 url 的访问权限 参数说明参数说明userId 用户 Id 浪潮浪潮 Loushang5 BSP 开发指南开发指南 25 credential 凭证 method 方法名称 返回值返回值有权限返回 true 否则 返回 false 2 方法说明 方法说明 public UserInfo getUserListOfRole String roleId 说明说明获取拥有指定角色的用户 不包括代理的用户 参数说明参数说明roleId 角色内码 返回值返回值userInfo 对象数组 3 方法说明 方法说明 public RoleView getAllRolesDataBeanOfCorporation String struId 说明说明获取单位下所有的角色 目前不包括角色组的相关部分的角色 参数说明参数说明 struId 组织内码 返回值返回值roleView 的数组 4 方法说明 方法说明 public UserInfo getAllUsersByStruId String struId 说明说明通过组织机构 ID 获取该组织机构下面的所有用户 包括子组织下的所有用 户 参数说明参数说明 struId 组织内码 返回值返回值UserInfo 的数组 5 方法说明 方法说明 public List getOnlineUsers 说明说明获取在线用户 参数说明参数说明无 返回值返回值List 用户 ID 字符串的列表 6 方法说明 方法说明 void withdrawPermission String userId String roleId 说明说明收回某人的某种角色 参数说明参数说明userId 用户 ID roleId 角色 ID 浪潮浪潮 Loushang5 BSP 开发指南开发指南 26 返回值返回值无 7 方法说明 方法说明 void assignUserToRole String userId String roleId 说明说明指定角色到用户 参数说明参数说明userId 用户 ID roleId 角色 ID 返回值返回值无 8 方法说明 方法说明 public RoleView getAssignedRole String userId 说明说明获得用户分配的角色 参数说明参数说明userId 用户 ID 返回值返回值roleView 的数组 9 方法说明 方法说明 public RoleView getRoleByRoleId String roleId 说明说明获取角色的信息 参数说明参数说明roleId 角色 ID 返回值返回值RoleView 角色信息 10 方法说明 方法说明 UserInfo getAllUsersOfDepartment String struId 说明说明获得某部门的所有直属用户 参数说明参数说明 struId 组织内码 返回值返回值UserInfo 用户信息的数组 11 方法说明 方法说明 RoleView getAuthorizedRoles 说明说明查询当前用户的角色权限 参数说明参数说明无 返回值返回值roleView 的数组 12 方法说明 方法说明 boolean hasPermission String url 浪潮浪潮 Loushang5 BSP 开发指南开发指南 27 说明说明判断当前用户是否有 url 的访问权限 参数说明参数说明url 返回值返回值boolean 布尔型 false 或者 true 13 方法说明 方法说明 UserInfo getUsersbyEmployeeOrganId String organId 说明说明根据员工号来获取对应的用户列表 参数说明参数说明organId 部门内码 返回值返回值UserInfo 用户信息数组 14 方法说明 方法说明 boolean isHasRole String userId String roleId 说明说明判定指定用户是否拥有指定的角色权限 参数说明参数说明userId 用户 ID roleId 角色 ID 返回值返回值boolean 布尔型 15 方法说明 方法说明 UserDataPermitView getUserDataPermit String userId String dataType 说明说明获取指定用户某种数据类型的数据权限 参数说明参数说明userId 用户 ID dataType 数据类型 返回值返回值UserDataPermitView 用户某种数据类型的数据权限 16 方法说明 方法说明 UserInfo getUserInfo String userId 说明说明根据用户 Id 获取用户信息 参数说明参数说明userId 用户 ID 返回值返回值UserInfo 用户信息 4 2 3 2 角色视图 RoleView 1 方法说明 方法说明 public String getRoleId 说明说明获取角色内码 Id 浪潮浪潮 Loushang5 BSP 开发指南开发指南 28 参数说明参数说明 返回值返回值字符串 角色内码 2 方法说明 方法说明 public String getRoleName 说明说明获取角色名称 参数说明参数说明 返回值返回值字符串 角色名称 4 2 3 3 用户视图 UserInfo 1 方法说明 方法说明 public String getUserId 说明说明获取用户账号 id 参数说明参数说明 返回值返回值字符串 用户账号 id 2 方法说明 方法说明 public String getEmployeeOrganId 说明说明获取用户对应的员工号 参数说明参数说明 返回值返回值字符串 用户对应的员工号 3 方法说明 方法说明 public String getEmployeeOrganName 说明说明获取用户名称 参数说明参数说明 返回值返回值字符串 用户名称 4 2 3 4 获取登录用户信息的接口 GetBspInfo 1 方法说明 方法说明 public static BspInfo getBspInfo HttpServletRequest request 浪潮浪潮 Loushang5 BSP 开发指南开发指南 29 说明说明获取当前登录用户的信息 参数说明参数说明servlet request 对象 返回值返回值BspInfo 对象 详见 4 3 4 5 2 方法说明 方法说明 public static BspInfo getBspInfo 说明说明获取当前登录用户的信息 参数说明参数说明 返回值返回值BspInfo 对象 详见 4 3 4 5 4 2 3 5 登录用户信息 BspInfo 1 方法说明 方法说明 public String getUserId 说明说明获取用户登录帐号 参数说明参数说明 返回值返回值字符串 用户登录账号 2 方法说明 方法说明 public String getDepartmentOrganId 说明说明获取用户所属部门的 struId 参数说明参数说明 返回值返回值字符串 用户所属部门的 struId 3 方法说明 方法说明 public String getCorporationOrganId 说明说明获取用户所属公司的 organId 参数说明参数说明 返回值返回值字符串 用户所属公司的 organId 4 方法说明 方法说明 public String getEmployeeStruId 浪潮浪潮 Loushang5 BSP 开发指南开发指南 30 说明说明获取用户对应工号的 StruId 参数说明参数说明 返回值返回值字符串 用户对应工号的 StruId 5 方法说明 方法说明 public String getEmployeeOrganId 说明说明获取用户对应工号的 organId 参数说明参数说明 返回值返回值字符串 用户对应工号的 organId 6 方法说明 方法说明 public boolean isAdmin 说明说明判断当前用户是否管理员 参数说明参数说明 返回值返回值布尔值 true 管理员 false 普通用户 7 方法说明 方法说明 public String getUserName 说明说明获取当前用户名称 参数说明参数说明 返回值返回值字符串 当前用户名称 8 方法说明 方法说明 public List getFunctionAuthorities 说明说明获取用户的权限 参数说明参数说明 返回值返回值权限操作集合 4

温馨提示

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

评论

0/150

提交评论