我有一個struts2行動@Secured({"ROLE_ADMIN"})
來保護執行方法。在execute方法中,我將一個消息分配給動作的成員變量,然後返回SUCCESS並結束於jsp頁面。在頁面上,我檢索<sproperty>
的動作成員變量。彈簧安全和Struts 2
private String greeting;
public String execute() throws Exception {
this.greeting="Hello";
return SUCCESS;
}
// getters and setters for greeting
...
<s:property value="greeting" />
問題是,當所述安全註釋存在jsp的顯示什麼的成員變量,但是當@Secured
被移除整個事情正確的行爲,並顯示被設定到成員變量的消息。
看來實際的安全性工作正常,但通過註釋啓用時,成員變量(或者可能是動作的實例)沒有進入值棧。
我看不到任何錯誤消息。
我沒有使用過S2應用程序的Spring Security,但屬性標籤會調用'getGreeting()',是否有可能應該註釋?如果是這樣,可能要考慮'ModelDriven'。 – 2011-11-07 01:38:35