#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')}
.