2016-10-12 50 views
-1

我們在我們的應用程序中有struts MVC,並希望現在整合spring安全性。 我能夠成功整合它並能夠部署應用程序。彈簧安全形式登錄支持struts

爲了獲得自定義登錄頁面,我們必須添加form-login到spring security xml文件。我很難集成自定義登錄頁面。

的Struts全局轉發

<global-forwards> 
    <forward name="login" path="/" redirect="true"/> 
</global-forwards> 

當沒有登錄它會帶我們到登錄頁面 XML的Web配置登錄

<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/login.vm</form-login-page> 
     <form-error-page>/loginError.vm</form-error-page> 
    </form-login-config> 
</login-config> 

以上在web.xml節與整合的一部分被去除春天的安全。而是我有以下春季安全

<intercept-url pattern="/**" access="hasRole('ROLE')" /> 
<form-login login-page="/login.vm" 
      authentication-failure-url="/loginError.vm" /> 

部分但當我嘗試登錄我不會自定義登錄頁面,而它只是指向網址IP:PORT/APP/login.vm和頁面不存在。

登錄表單j_spring_security

action="j_spring_security_check" 

,以獲得自定義登錄需要什麼樣的變化? 應該改變strut配置嗎?

回答

1

我在這裏猜測,但我懷疑你得到這個,因爲Spring Security不瞭解/瞭解Velocity。當我使用.jsp頁面將Spring Security整合到我的Struts應用程序中時,我遇到了相似的問題。最後,我指出login-page和authentication-failure-url指向動作並從那裏加載jsp頁面。我建議你嘗試一樣。

+0

我們應該使用表單登錄來提供整個路徑嗎?應該給它登錄頁面=「action.do」嗎?或只是登錄頁面=「行動」? 由於web xml已經有 操作 * .do

+0

試過以下。但沒有運氣 <操作路徑= 「/ AUTH」 TYPE = 「wxyzactions.Auth」> \t <轉發名= 「成功」 路徑= 「/ login.vm」/> 而在動作類重寫執行並返回行動「成功」。但仍然url指向auth,它說,頁面不起作用 Web xml順序是否重要? –

+0

如果您直接從瀏覽器調用動作驗證,它會工作嗎? – user497087