我爲我的web應用程序使用Struts 2並使用身份驗證部分。我想知道什麼時候重定向頁面(操作),我該如何更改它重定向到的顯示的URL而不是從?Struts 2 - 重定向頁面並顯示不同的URL
例如,我有一個login.action頁面將提交到authentication.action,並且如果用戶名和密碼正確,它將被重定向到securePage.action。
我知道如何做重定向部分(我試過鏈和redirectAction結果類型)。我想要的是,當頁面被重定向到安全頁面時,URL將顯示..../securePage.action。現在,它仍然使用會話ID進行身份驗證。
我分享我的struts.xml的一部分下面
<action name="login">
<result>index.jsp</result>
</action>
<action name="authentication" class="com.myapp.action.AuthenticationAction">
<result name="success" type="chain">hello</result>
<result name="failure">index.jsp</result>
</action>
<action name="hello"
class="com.myapp.action.HelloWorldAction"
method="execute">
<interceptor-ref name="myDefault"/>
<result name="success">/HelloWorld.jsp</result>
<result name="failure">index.jsp</result>
</action>
login.action將剛打開的index.jsp,這是將提交驗證的登錄名爲
身份驗證的操作類只需從登錄中獲取用戶名和密碼,並在會話值「已授權」時將其設置爲「已授權」,如果用戶名和密碼不匹配,則該值爲已通過或重定向。
認證將使用結果類型鏈重定向到hello(安全頁面)。
hello的動作使用我自己的authInterceptor來檢查會話值 - 當前會話是否被授權。如果不是,請返回登錄。
在重定向操作的情況下,你指定的結果動作(錯誤/成功)?並且您是否使用URL映射了這些操作? – Ved
你可以分享你的struts.xml嗎?我想看到幾件事情 –
如果URL在*重定向過程中沒有改變,那麼你沒有做重定向。 –