在 Grails 3 中自定义 Spring Security 3.1.1 登录表单
Customise Spring Security 3.1.1 Login form in Grails 3
我已在我的 application.yml 中声明 Spring 安全性作为依赖项,当 运行 我的应用程序默认登录表单按预期工作。我想设计表单样式,以便我的应用程序是无缝的。
在 views/auth 我有 auth.gsp 其中包含以下代码:
<form method="POST" action="${resource(file: 'j_spring_security_check')}">
<table>
<tr>
<td>Username:</td><td><g:textField name="j_username"/></td>
</tr>
<tr>
<td>Password:</td><td><input name="j_password" type="password"/></td>
</tr>
<tr>
<td colspan="2"><g:submitButton name="login" value="Login"/></td>
</tr>
</table>
</form>
此表单按预期显示,但是在提交表单时没有任何反应。我假设这是因为 {resource(file: 'j_spring_security_check')}
不是它应该执行的操作。我从 here 那里得到了这段代码,我相信这是用 Grails 2 编写的。知道正确的做法是什么吗?
我很震惊地发现六年前的博客 post 并非 100% 正确。阅读 the documentation,尤其是 "What’s New in Version 3.0" 部分,也许你会更幸运。
以下是有效的自定义登录表单:
<form method="POST" action="${resource(file: '/login/authenticate')}" class="form-signin">
<h2 class="form-signin-heading text-center">Login</h2>
<input type="text" class="form-control" name="username" placeholder="Username"/>
<input type="password" class="form-control" name="password" placeholder="Password"/>
<label class="checkbox text-center">
<input type="checkbox" value="remember-me" id="rememberMe" name="remember-me"> Remember me
</label>
<button class="btn btn-lg btn-default btn-block" type="submit">Login</button>
</form>
需要注意的主要事项是:
j_spring_security_check
现在是 /login/authenticate
j_username
现在是 username
j_password
现在是 password
用于 Grails 3 的 Spring 安全性 3 的文档是 here
我已在我的 application.yml 中声明 Spring 安全性作为依赖项,当 运行 我的应用程序默认登录表单按预期工作。我想设计表单样式,以便我的应用程序是无缝的。
在 views/auth 我有 auth.gsp 其中包含以下代码:
<form method="POST" action="${resource(file: 'j_spring_security_check')}">
<table>
<tr>
<td>Username:</td><td><g:textField name="j_username"/></td>
</tr>
<tr>
<td>Password:</td><td><input name="j_password" type="password"/></td>
</tr>
<tr>
<td colspan="2"><g:submitButton name="login" value="Login"/></td>
</tr>
</table>
</form>
此表单按预期显示,但是在提交表单时没有任何反应。我假设这是因为 {resource(file: 'j_spring_security_check')}
不是它应该执行的操作。我从 here 那里得到了这段代码,我相信这是用 Grails 2 编写的。知道正确的做法是什么吗?
我很震惊地发现六年前的博客 post 并非 100% 正确。阅读 the documentation,尤其是 "What’s New in Version 3.0" 部分,也许你会更幸运。
以下是有效的自定义登录表单:
<form method="POST" action="${resource(file: '/login/authenticate')}" class="form-signin">
<h2 class="form-signin-heading text-center">Login</h2>
<input type="text" class="form-control" name="username" placeholder="Username"/>
<input type="password" class="form-control" name="password" placeholder="Password"/>
<label class="checkbox text-center">
<input type="checkbox" value="remember-me" id="rememberMe" name="remember-me"> Remember me
</label>
<button class="btn btn-lg btn-default btn-block" type="submit">Login</button>
</form>
需要注意的主要事项是:
j_spring_security_check
现在是/login/authenticate
j_username
现在是username
j_password
现在是password
用于 Grails 3 的 Spring 安全性 3 的文档是 here