authorityFilter權限控制框架
基于java 過濾器(Filter)實現對權限控制的框架。
依賴jar:log4j.jar,fastjson.jar
軟件由三部分組成:
權限過濾器AuthorityFilter # 負責過濾url并執(zhí)行權限檢查器中的權限驗證方法(check).配置在web.xml中
權限檢查器PermissionChecker # 由用戶基于業(yè)務擴展,但必須繼承類: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(friendly json)[不需要雙引號、單引號之類的字符]的形式={ group1:[/webModel1.do*,/webModel2/*.do*,/webModel3.domethod=hello*] , group2:[/webModel1.do*,/webModel2.do?mechod=add*,/webModel3.do*]
}
權限數據處理提供了很多中<驗證權限的方法>,<管理權限數據的方法>,<加載權限數據的方法>。
jar,demo,src,doc下載地址:http://code.google.com/p/my-project-authorityfilter/downloads/list
歡迎使用??!
《謝謝》
