如何在Grails应用程序中实现我自己的登录页面而不是默认的Spring安全登录页面?

如何在Grails应用程序中实现我自己的登录页面而不是默认的Spring安全登录页面?,grails,grails-2.0,grails-plugin,Grails,Grails 2.0,Grails Plugin,我已经浏览了互联网上的一些博客,但在没有SpringSecurity的情况下,我无法找到如何创建自己的登录页面。我该怎么做?要做到这一点,您需要完成以下任务: 在视图目录中创建登录视图 创建两个gsp视图名称auth.gsp和denied.gsp 在这一步中,如果您使用的是grails spring security core插件版本2.0-RC3,您可能需要从plugin auth.gsp view和denied.gsp复制内容。这些视图位于target>work>plugins>spring

我已经浏览了互联网上的一些博客,但在没有SpringSecurity的情况下,我无法找到如何创建自己的登录页面。我该怎么做?

要做到这一点,您需要完成以下任务:

  • 在视图目录中创建登录视图
  • 创建两个gsp视图名称auth.gsp和denied.gsp
  • 在这一步中,如果您使用的是grails spring security core插件版本2.0-RC3,您可能需要从plugin auth.gsp view和denied.gsp复制内容。这些视图位于target>work>plugins>spring-security-core-2.0-RC2>grails app>view>login,复制内容并粘贴到您的app auth.gsp和denied.gsp视图中

  • 您可以在此中查看视图位置和视图内容的示例。

    要创建自定义登录页面,请在
    grails app/views/login/
    中创建名为auth.gsp的视图。确保它将参数
    j_username
    j_password
    传递给操作
    ${postrl}
    。以下是Spring Security 1.x附带的默认auth.gsp视图:

    <html>
    <head>
        <meta name='layout' content='main'/>
        <title><g:message code="springSecurity.login.title"/></title>
        <link rel="stylesheet" href="${resource(dir: 'css', file: 'auth.css')}" type="text/css">
    </head>
    <body>
    <div id='login'>
        <div class='inner'>
            <div class='fheader'><g:message code="springSecurity.login.header"/></div>
    
            <g:if test='${flash.message}'>
                <div class='login_message'>${flash.message}</div>
            </g:if>
    
            <form action='${postUrl}' method='POST' id='loginForm' class='cssform pure-form pure-form-aligned' 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>
                    <input type='submit' id="submit" class="btn" value='${message(code: "springSecurity.login.button")}'/>
                </p>
            </form>
        </div>
    </div>
    <script type='text/javascript'>
        <!--
        (function() {
            document.forms['loginForm'].elements['j_username'].focus();
        })();
        // -->
    </script>
    </body>
    </html>
    
    
    ${flash.message}
    
    :
    

    :


    我会将其复制到您的auth.gsp视图中,然后从那里进行更改。

    这有时会让人恼火。 所以,如果我没弄错的话,你想改变登录spring安全产品的外观,对吗

    在完成UI设计(CSS、HTML和其他)后执行此操作

    现在更改输入名称并将其与来自Spring security的
    auth.gsp
    进行比较

    您可以按住键盘上的
    ctrl+shift+N
    ,然后键入
    auth.gsp
    供您检查

    将其与您的进行比较,并在可能的情况下进行更改

    在UrlMAppings.groovy中执行以下编辑操作

    “/”(查看:“/您的登录页面”)

    “/login/auth”(查看:“/Your login page”)

    现在重新启动您的服务,仅此而已

    如果问题仍然存在,您可以在此处发布错误,以便我们可以看到如何提供帮助


    注意这是针对Grails3.x的

    在Grails3.x中有没有一种新的实现方法?