權限控制框架:authorityFilter
基于java 過濾器(Filter)實現對權限控制的框架。軟件由三部分組成:
權限過濾器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查出數據組裝出以上結構。即: Map>.2. 從權限數據文件獲得。此文件可以配置在AuthorityFilter的init-param中,param-nam為:authortyFile(文件擴展名必須是.authorty).如果不從web.xml配置,也可以用權限數據處理器中的方法去加載文件。 權限數據文件中權限的格式是一種我稱之為友好型JSON(friendly json)的形式={
group1:[/webModel1.do*,/webModel2/*.do*,/webModel3.do?method=hello*] ,
group2:[/webModel1.do*,/webModel2.do?mechod=add*,/webModel3.do*] }
權限數據處理提供了很多中驗證權限的方法,管理權限數據地方法,加載權限數據的方法。