@Secured({"ROLE_ADMIN"})
execute メソッドを保護するためのstruts2 アクションがあります。execute メソッドでは、メッセージをアクションのメンバー変数に割り当て、SUCCESS を返し、jsp ページに到達します。ページで、actions メンバー変数を取得します<sproperty>
。
private String greeting;
public String execute() throws Exception {
this.greeting="Hello";
return SUCCESS;
}
// getters and setters for greeting
...
<s:property value="greeting" />
問題は、保護された注釈が存在する場合、jsp はメンバー変数に対して何も表示しませんが、@Secured
削除するとすべてが適切に動作し、メンバー変数に設定されたメッセージを表示することです。
実際のセキュリティは正常に機能しているように見えますが、アノテーションを介して有効にすると、メンバー変数 (またはアクションのインスタンス) が値スタックに到達しません。
エラーメッセージが表示されません。