Struts2結合注釋實現簡易許可權管理 拋板磚引玉

2021-05-22 23:37:23 字數 1074 閱讀 6431

許可權管理一直是乙個比較頭疼的問題。

現在實現的也只是功能許可權的問題。

使用者 -->角色-->許可權。

一般設定許可權都是用 url,可不可以轉換乙個方式呢,

由於struts2實現的web系統中功能都是通過action類中的方法體現,把action方法當作乙個資源,通過使用注釋指明資源id,可以通過資源id找到角色,然後和使用者的角色匹配。

廢話不說了,直接上**:

1.注釋類

@retention(retentionpolicy.runtime)

@target()

public @inte***ce authentication

2.注釋解析類

public class parseannotation catch (securityexception e) catch (nosuchmethodexception e)

if (method != null)

return null;}}

/** 暫時限定獲取方法異常時表示配置錯誤,換回null表示有許可權,返回注釋的內容則需要判斷

*/3.在action的方法上面加注釋

@authentication(name="edit_role_func")

public string edit()

else

this.addactionerror(this.gettext("common.msg.upd.fail"));

return action.success;

}4.實現許可權***

public class authenticationinterceptor extends abstractinterceptor catch (nosuchmethodexception e)

if (auth != null)

if (!"edit_role_func".equals(auth)) //這裡為了做測試,只是簡單的比較,已經拿到了resource id,去資料庫裡面匹配是很簡單的。

return invocation.invoke();}}

5.測試

達到預期效果,收工!

Spring如何與struts2結合

1.struts2的action由spring來負責進行例項化 struts.xml 2.專案啟動時由裝載spring web.xml org.springframework.web.context.contextloaderlistener web inf teacher selectall.js...

Struts 2 注釋教程1

struts 2 注釋例子 我們將通過基於struts 2的hello user的例子學習注釋。在這個例子中,我們將獲得使用者的名字並給使用者展示乙個歡迎的資訊。這裡有兩個版本的例子,第乙個我們將了解到如何使用struts2提供的智慧型預設功能來實現,我們除了部署描述符 descriptor 以外,...

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...