微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

权限组件实现(续三)(Postgresql)

调用DBPermission判断权限的过程:

首先,程序会调用Permission的getDenyRule和 getAcceptRule来获取屏蔽或接受的规则.

然后逐条判断是否有权限.

现在DBPermission里没有DenyRule,AcceptRule也只有一个RuleImpl.

RuleImpl的判断规则是:取得角色getPermissionProp属性中同权限相对应的属性,进行判断,

如果没有该属性则无权限.如果有属性则进行判断是否可以通过,通过判断Permission的PermissionItem(要求判断的权限项)和role相对应的属性是否相符来决定是否可以通过.

当然继承的时候可以以不同的方法设置Role的PermissionProp.

现在的Dbrole的PermissionProp是从表tblpermissionrole里获得的.

举个例子:

tblRole表: ID Name ……………… 1 财务

tblPermission表 ID Permission SubPermission Property…………………

1 Machine Read Department;Sex

2 Measure null null

tblPermissionRole表 ID Role_id Permission properties

1 1 Machine:Read Department;2;Sex;2

2 2 Measure null

上面的表示中,角色1当department是2并且sex是2时有Machine:Read的权限,

而不管参数如何都有Measure的权限

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐