我的权限组件

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

首先,设置三种要素:用户、群组、角色。

用户为登录用,对应到人。群组对应为用户的集合,是一种特殊的用户。角色为一组权限项的集合,用户(群组)都有各自的角色。

权限的实现通过Permission类和Rule类来实现。

Permission供外部调用,Rule为一个接口,为权限判断规则。

Permission是一个抽象类,有以下方法

public boolean hasPermission(User user,HashMap oldData,Input input);

public String getPermissionName();

public abstract Rule[] getDenyRule();

public abstract Rule[] getAcceptRule();

hasPermission方法供外部调用,已实现,实现方法为先根据getDenyRule()得到的规则判断权限是否被阻拦,再根据getAcceptRule来判断是否有权限。

而Rule接口的接品则由用户自行定义,随包附带了一个已实现的Rule,实现的功能如下:

先寻找User的所有角色,然后判断角色是否有权限,如果无权限则寻找其父级群组,再取父级群组的所有角色进行判断是否有权限,如果无权限则再往上级群组找,直到找最上一级还是无权限才判断为无权限。

现实现判断权限有无权限的方式已可以达成的有以下三种:

1、 是否有操作的权限。

2、 是否有操作的子操作的权限。

3、 在数据为某条件时有操作(子操作)的权限。

在进行程序开发时,第一步,编写User,Group,Role的实现类,已提供了一套XML的实现类。

第二步,写配置文件,进行权限项的配置。

第三步,在程序中要进行权限判断的地方调用Permission.hasPermission方法即可。

以后我会把代码逐天贴出来。

如果大家有什么别的种类权限要进行判断的,请给我发送邮件,我继续改善,欢迎大家多提意见。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航