URL-адрес, найденный в auth.gsp — beginner

#grails

#grails

Вопрос:

Мне нужно знать следующее. Я скопировал следующий код из auth.gsp. Мне нужно знать, что:

1.) Мне нужно знать, что означает ‘$ {postUrl}’?

2.) Я скопировал этот код и вставил его в другой GSP с именем index.gsp, но страница не прошла успешно.

 <form action='${postUrl}' method='POST' id="loginForm" name="loginForm" autocomplete='off'>
    <div class="sign-in">

    <h1><g:message code='spring.security.ui.login.signin'/></h1>

    <table>
        <tr>
            <td><label for="username"><g:message code='spring.security.ui.login.username'/></label></td>
            <td><input name="j_username" id="username" size="20" /></td>
        </tr>
        <tr>
            <td><label for="password"><g:message code='spring.security.ui.login.password'/></label></td>
            <td><input type="password" name="j_password" id="password" size="20" /></td>
        </tr>
        <tr>
            <td colspan='2'>
                <input type="checkbox" class="checkbox" name="${rememberMeParameter}" id="remember_me" checked="checked" />
                <label for='remember_me'><g:message code='spring.security.ui.login.rememberme'/></label> |
                <span class="forgot-link">
                    <g:link controller='register' action='forgotPassword'><g:message code='spring.security.ui.login.forgotPassword'/></g:link>
                </span>
            </td>
        </tr>
        <tr>
            <td colspan='2'>
                <s2ui:linkButton elementId='register' controller='register' messageCode='spring.security.ui.login.register'/>
                <s2ui:submitButton elementId='loginButton' form='loginForm' messageCode='spring.security.ui.login.login'/>
            </td>
        </tr>
    </table>

    </div>
    </form>
  

Ответ №1:

Весенняя безопасность работает над фильтрами. Если вы печатаете postUrl в своем файле gsp, то, похоже /myApp/j_spring_security_check , только /j_spring_security_check URL обрабатывается Spring Security filter.

Если вы прошли auth.gap и не отправляете этот URL, то не сможете войти в систему. Слегка измените свой gsp, чтобы запустить это, замените ${postUrl} на ${createLink(uri: '/j_spring_security_check')} .