用户权限系统设计方案(转)
用户或角色通常具有以下属性:
如何利用这些用户授权数据来控制应用系统对业务数据的访问,有很多不同的解决方案,但是我认为建立一个中间数据存储层来统一所有客户端对数据源的存储访问是个不错的主意,并在这个数据访问层中应用安全设置来对业务数据的各种访问进行授权验证和控制,这样就可以统一各种客户端对数据存储的安全应用
- 编号,在系统中唯一。
- 名称,在系统中唯一。
- 用户口令(角色无此属性)
有了用户和角色对象,还必须有一个描述他们之间隶属关系的对象,这样的对象我们称之为“成员关系(Member)”,通常它可能有如下属性:
- 用户编号
- 角色编号
动作/操作通常具有以下属性:
- 名称,在系统中唯一。
- 备注,描述动作/操作。
应用模块通常具有以下属性:
- 名称,在系统中唯一。
- 标题,描述动作/操作。
- 动作列表,表示该应用模块所可能具有的所有操作。
授权
顾名思义,授权是指用户/角色能对哪些应用模块中的某些操作(动作)是否具有执行的许可。这里的“是否具有执行的许可”实际上指的是授权的三种状态:授予-Grant、拒绝-Deny、继承-Revoke。
- 授予:用户/角色对某个应用模块的某项操作具有执行的权力。
- 拒绝:用户/角色对某个应用模块的某项操作没有执行的权力。
- 继承:用户/角色对某个应用模块的某项操作是否具有执行的权力要取决于它的父角色的授权定义。
如何利用这些用户授权数据来控制应用系统对业务数据的访问,有很多不同的解决方案,但是我认为建立一个中间数据存储层来统一所有客户端对数据源的存储访问是个不错的主意,并在这个数据访问层中应用安全设置来对业务数据的各种访问进行授权验证和控制,这样就可以统一各种客户端对数据存储的安全应用

浙公网安备 33010602011771号