in meinem Abfangjäger, wenn der Benutzer nicht genug Recht hat, gäbe es eine Meldung warnen sein:Struts 2, wie in einem Interceptor gespeicherte Nachrichten angezeigt werden, die zu einer anderen Aktion umleiten würden?
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext actionContext = invocation.getInvocationContext();
Map<String, Object> sessionMap = actionContext.getSession();
User loginUser = (User) sessionMap.get("user");
Object action = invocation.getAction();
if (loginUser != null && loginUser.getRole().getId() != Constant.AUTHORITY_ADMIN) {
((ValidationAware) action).addFieldError("user.authority",
((DefaultAction) action).getText("user.action.authority.not.enough"));
return DefaultAction.HOME_PAGE;
}
return invocation.invoke();
}
dann wäre es auf „Home_Page“ Aktion, wenn der Erfolg, Anzeigeinformationen in den jsp umleiten. So, wie man die Warnenachricht anzeigt?
i zwei Abfangjäger verwendet haben in strust.xml configed, für die Admin-Recht Requirment:
<interceptor-stack name="authorityStack">
<interceptor-ref name="authority" />
<interceptor-ref name="defaultStack" />
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
</interceptor-stack>
Standard ist:
<interceptor-stack name="default">
<interceptor-ref name="login" />
<interceptor-ref name="defaultStack" />
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
</interceptor-stack>
Suchen Sie nur nach einem Mechanismus zum Anzeigen einer Nachricht an einen Benutzer, wenn sie versuchen, eine Aktion aufzurufen, auf die sie keinen Zugriff haben? –
Ja, ich möchte dem Benutzer mitteilen, dass er kein Zugriffsrecht hat. – mui13