在Grails3中定制SpringSecurity3.1.1登录表单

在Grails3中定制SpringSecurity3.1.1登录表单,grails,spring-security,grails-3.1,Grails,Spring Security,Grails 3.1,我已经在我的application.yml中将Spring安全声明为一个依赖项,并且在运行我的应用程序时,默认的登录表单按预期工作。我想样式的形式,使我的申请是无缝的 在views/auth中,我有auth.gsp,其中包含以下代码: <form method="POST" action="${resource(file: 'j_spring_security_check')}"> <table> <tr> &l

我已经在我的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(文件:'j_spring_security_check')}
不是它应该执行的操作。我从中获得了这段代码,我相信这段代码是用Grails2编写的。知道正确的行动是什么吗?

我震惊地发现,六年前的一篇博客文章并非100%正确。也许你会更幸运地阅读,尤其是“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\u spring\u security\u check
    现在是
    /login/authenticate
  • j_username
    现在是
    username
  • j_密码
    现在是
    密码

Grails3使用的SpringSecurity3文档有点离题,但您能对此发表评论吗?