我創建了我要地圖以某種行動某些特定的方法攔截器,我不想打擾現有代碼:編寫自定義攔截器的一些行動,而不是工作
<package name="francis" namespace="/francis" extends="struts-default,json-default">
<interceptors>
<interceptor name="authentication" class="main.java.com.commdel.commons.struts2.interceptors.AuthenticationInterceptor"/>
<interceptor name="authorization" class="main.java.com.commdel.commons.struts2.interceptors.SecurityInterceptor"/>
自定義攔截csrf
:
<interceptor name="csrf" class="main.java.com.commdel.commons.struts2.interceptors.CsrfTokenInterceptor"/>
<interceptor-stack name="commonStack">
<interceptor-ref name="authentication"/>
<interceptor-ref name="authorization"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="commonStack"/>
<global-results>
<result name="error" type="velocity">/results/velocity/common/globalerror.vm</result>
<result name="AUTHORIZATIONERROR" type="velocity">/results/velocity/common/sessionError.vm</result>
</global-results>
映射csrf
一些行動:
<action name="addUpdateClaimHeadMetronic" class="main.java.com.commdel.francis.struts2.actions.ClaimHeadAction" method="addUpdateClaimHead">
<interceptor-ref name="csrf"/>
</action>
</package>
在操作配置中使用堆棧攔截器。 –
如果你明確地將任何攔截器應用於動作,那麼其他類似的默認值將不適用。你必須通過自己的所有攔截器應用於你已經應用了csrf攔截器的每個動作。 – Mandy
[Interceptor未在Struts中調用]的可能重複(http://stackoverflow.com/questions/30043007/interceptor-not-getting-called-in-struts) –