基于java过滤器(Filter)实现对权限控制的框架。
依赖jar:log4j.jar,fastjson.jar
软件由三部分组成:
权限过滤器AuthorityFilter#负责过滤url并执行权限检查器中的权限验证方法(check).配置在web.xml中
权限检查器PermissionChecker#由用户基于业务扩展,但必须继承类:PermissionChecker,实现check方法。用户继承的Checker类必须配置在Authority的init-param中,param-name为用户扩展的permissionChecker.
权限数据处理器AuthorityHandler # 权限数据是有结构的。相当于一个hash.即权限组的概念。{
group1:[/webModel1.do*,/webModel2/*.do*,/webModel3.do?method=hello*]
}
注:'*'代表任意字符。
权限数据的主要来源有两种:
1.DB,从DB查出数据组装出以上hash结构。即:Map<String,Collection<String>>.
2.从权限数据文件获得。
此文件可以配置在AuthorityFilter的init-param中,param-nam为:authortyFile(文件扩展名必须是.authorty).
如果不从web.xml配置,也可以用权限数据处理器中的方法去加载文件。
权限数据文件中权限的格式是一种我称之为友好型JSON(friendlyjson)[不需要双引号、单引号之类的字符]的形式={group1:[/webModel1.do*,/webModel2/*.do*,/webModel3.domethod=hello*], group2:[/webModel1.do*,/webModel2.do?mechod=add*,/webModel3.do*]
}
权限数据处理提供了很多中<验证权限的方法>,<管理权限数据的方法>,<加载权限数据的方法>。
jar,demo,src,doc下载地址:https://code.google.com/p/my-project-authorityfilter/downloads/list
欢迎使用!!
《谢谢》
评论