Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
我的权限组件

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

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

 

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

             

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

 

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

 




相关文章

相关软件