langping86

stay hungry,stay foolish.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

{一}业务需求:

实现EAS二次开发单据满足如下要求:制单人只能查看自己做的单据(说明一下:EAS的单据默认都会有创建人、最后修改人等字段)、只有主管能进行审批。

需要说明:以下的配置是针对EAS7.5版本,EAS6.0版本以前的可能有些差异。

在EAS中可通过[特殊数据权限]进行控制。

 

{二}权限扫盲

在说如何配置特殊数据权限之前,先总结一下EAS中常涉及的权限内容(以下内容有参考某官方文档,单不涉及版权问题滴):

1、EAS中支持的权限大到整个功能、细到某条数据、更细的可控制到字段级别。

功能权限

数据权限:一般数据权限、特殊数据权限(拥有者权限、主管权限、离散权限)

字段权限

2、小名词,大作用

用户:是EAS权限的基础,系统类型的用户不需授权(需要区分于职员,一个职员可有多个用户)

角色:给用户指定某个角色,相当于给用户分配了一组权限,所以:角色就是一组权限的集合。

权限:权限数据是通过权限文件在生成子系统树后生成,当然用户是否拥有某些权限还要单独分配。

组织:支持分级,主业务组织类型{NONE、Admin、Company、Sale、Purchase、Storage}

3、权限文件、权限项

权限的数据来自权限文件,需要通过BOS开发工具配置,权限文件包括诸多个权限项、是否支持数据权限。

权限项:orgRelation(主业务组织类型)、enableDataPermission(是否启用数据权限)

以上内容个人整理,作为笔记用的。

 

{三}特殊数据权限的配置。

{1}权限文件

需要注意的地方主要有:

*orgRelation:不能为空或NONE(这个自己测试过,为空或NONE时不能生效,这个就不要自己折腾一下了,生成子系统树太慢了)

*enableDataPermission=true,

*设置实体对象、

*引用对象列表加入序时簿Query实体(记得实体及关联方法要加上,查看权限需要将query要加上)

{2}配置文件修改:

找到server\profiles\server1\config\EAS_PermissionConfiguration.xml

在<special-data-permissions></special-data-permissions>添加如下完整节点

<special-data-permission>
<name>com.kingdee.eas.shine.travel.app.TravelReqBill</name>
<type>25BF11F2</type>
</special-data-permission>

{3}将权限文件、配置文件部署到服务器,生成子系统树。

 

{四}权限配置

用administrator登录EAS客户端,进入权限管理--特殊数据权限。找到自己的刚才配置的单据,启用权限。

举例说明:

启用权限后如果不生效,可将权限数据删除重新生成,执行如下脚本:

delete T_PM_SpecialDataPerm

delete T_PM_SpecialDataPermEntry

 

 

 {五}扩展及编程接口

 

以下内容待整理:

1、特殊数据权限单据默认支持的字段有限,如何扩展?

2、权限控制的有关接口及实现

 

 

 

 

 

posted on 2013-06-25 11:24  masb  阅读(4656)  评论(0编辑  收藏  举报