权限控制系统(二)
上一遍文章大家提了很多建议,谢谢大家的捧场,这篇我就根据一个例子具体说明下。在那个概念设计图中,估计大家比较疑惑的是字段表和角色数据权限分配表。
字段表是对数据集的字段进行描述,其中字段类型尤其关键。字段类型不仅仅包括常用的基础类型,而是包括各种关联表。举例来说,职员信息数据集有姓名、性别、所在地区、所在部门等字段。“姓名”的字段类型是基本类型“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 阅读(2367) 评论(8) 编辑 收藏 举报