2012-06-09 88 views
1

我想在layouts/main.gsp中的主佈局中將來自Grails Spring Security Plugin的生成的登錄視圖的登錄表單放入。我只是複製它,但它不起作用,因爲原因,現在沒有控制器可用於傳遞表單數據。該表單代碼如下所示:在另一個控制器中使用Grails Spring Security登錄表

<form action='${postUrl}' method='POST' id='loginForm' class='cssform' autocomplete='off'> 
     <p> 
     <label for='username'><g:message code="springSecurity.login.username.label"/>:</label> 
     <input type='text' class='text_' name='j_username' id='username'/> 
     </p> 
     <p> 
     <label for='password'><g:message code="springSecurity.login.password.label"/>:</label> 
     <input type='password' class='text_' name='j_password' id='password'/> 
     </p> 
     <p id="remember_me_holder"> 
     <input type='checkbox' class='chk' name='${rememberMeParameter}' id='remember_me' <g:if test='${hasCookie}'>checked='checked'</g:if>/> 
     <label for='remember_me'><g:message code="springSecurity.login.remember.me.label"/></label> 
     </p> 
     <p><input type='submit' id="submit" value='${message(code: "springSecurity.login.button")}'/></p> 
    </form> 

我應該如何更改此代碼,以便將表單代碼發送到登錄驗證操作?

謝謝。

回答

2

正如我udenrstand,你的問題是什麼用於表單操作? postUrl應與config中的grails.plugins.springsecurity.apf.filterProcessesUrl屬性相同,默認情況下爲/j_spring_security_check

如果您沒有更改此值,則可以使用/j_spring_security_check而不是${postUrl}

Spring Securty插件具有處理此URL的特殊過濾器,並授權用戶。後續步驟取決於配置,但如果我沒有記錯,默認情況下它將用戶重定向到/

見在http://grails-plugins.github.io/grails-spring-security-core/guide/urlProperties.html

+0

配置選項,我的問題是,我只是想在main.gsp使用這種形式和使用AUTH方法從登錄控制器登錄。我如何告訴他使用登錄控制器的auth方法?我只想登錄另一個頁面,但現在登錄控制器的身份驗證視圖。 – user1377027

+0

我已將$ {postUrl}更改爲/ j_spring_security_check,並在點擊登錄後將其重定向到該URL,但沒有任何反應。 – user1377027

+0

認證必須由Spring Security插件處理,而不是登錄控制器。你對控制器有什麼期望?重定向後應該發生什麼? –

相關問題