权限控制系统(二)

上一遍文章大家提了很多建议,谢谢大家的捧场,这篇我就根据一个例子具体说明下。在那个概念设计图中,估计大家比较疑惑的是字段表和角色数据权限分配表。

字段表是对数据集的字段进行描述,其中字段类型尤其关键。字段类型不仅仅包括常用的基础类型,而是包括各种关联表。举例来说,职员信息数据集有姓名、性别、所在地区、所在部门等字段。“姓名”的字段类型是基本类型“string”,“性别”的字段类型是枚举类型“性别”;“所在地区”的字段类型是关联表“地区”;“所在部门”的字段类型是关联表“部门”。我们可以根据应用需要设置各种字段类型。

角色数据权限分配表对角色的功能授权进行细化,需要设置字段的可见和范围。范围的语法描述要看具体情况了,比如地区范围为“北京地区”可以描述为“in (北京)”,金额范围为“大于0且小于等于1000”可以描述为“(0,1000]”。

我们就拿上一篇文章中醉,只为你提到的例子来说明,“角色A对性别为男的职员信息有写的权限 、对所在地区 是北京的职员信息只有读的权限”。我们将这个约束条件翻译一下:“角色A对性别为男、非北京地区的职员信息有写权限,而对所有职员信息都有读权限”。

如果存储在数据库中,应该这样存储——

角色表

角色

角色A

权限点表

权限点

数据集

职员信息读

职员信息

职员信息写

职员信息

角色功能授权表

角色

权限点

角色A

职员信息读

角色A

职员信息写

数据集

数据集

职员信息

字段表

数据集

字段

字段类型

职员信息

地区

地区类型

职员信息

性别

性别类型

数据权限分配格式如下

角色

权限

字段

可见

范围

角色A

职员信息写

地区

Yes

Not in(北京)

角色A

职员信息写

性别

Yes

In(男)

角色A

职员信息读

地区

Yes

All

角色A

职员信息读

性别

Yes

All

 

         欢迎继续拍砖。

posted on 2010-12-17 21:41  Hero King  阅读(2364)  评论(8编辑  收藏  举报

导航