我的权限组件

类别:Java 点击:0 评论:0 推荐:

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

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

 

       权限的实现通过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方法即可。

             

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

 

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

 

本文地址:http://com.8s8s.com/it/it13985.htm