<package name="AInterceptor" extends="struts-default" namespace="/">
<!-- 註冊攔截器 (既保留struts2的攔截器,又使用自定義攔截器) -->
<interceptors>
<interceptor name="loginInterceptor" class="com.cb.Interceptor.loginInterceptor" />
<interceptor-stack name="loginInterceptorStack">
<interceptor-ref name="defaultStack" /><!-- struts2默認攔截器 -->
<interceptor-ref name="loginInterceptor" /><!-- 自定義攔截器 -->
</interceptor-stack>
</interceptors>
<!-- 全局視圖 -->
<global-results>
<result name="success">/WEB-INF/page/SuccessMessage.jsp</result>
</global-results>
<action name="TestInterceptor_*" class="com.cb.Interceptor.TestInterceptor" method="{1}">
<result name="kk">/WEB-INF/page/loginSuccess.jsp</result>
</action>
<action name="login">
<result>/WEB-INF/page/Login.jsp</result>
</action>
<action name="Testlogin">
<!--爲此action添加攔截器 -->
<interceptor-ref name="loginInterceptorStack" />
<result name="ok">/WEB-INF/page/Input.jsp</result>
</action>
</package>
public class loginInterceptor implements Interceptor {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init() {
// TODO Auto-generated method stub
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
Object user = ActionContext.getContext().getSession().get("User");
if (user != null) {
return invocation.invoke(); // 如果user不爲null,代表用戶已經登錄,允許執行action中的方法
}
ActionContext.getContext().put("Msg", "你沒有權限執行該操作");
return "success";
}
}