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

时间:2014-06-19 13:12:21

标签: grails grails-2.0 grails-plugin

我已经浏览了一些互联网上的博客,但是如果没有Spring Security,我无法找到自己的登录页面。我该怎么办?

3 个答案:

答案 0 :(得分:0)

为此,您需要执行以下任务:

  1. 在视图目录中创建登录视图
  2. 创建两个gsp视图名称auth.gsp和denied.gsp
  3. 在此步骤中,您可能需要从插件auth.gsp视图和denied.gsp复制内容,如果您使用的是grails spring安全核心插件版本2.0-RC3,这些视图位于目标>工作>插件> spring-security-core-2.0-RC2> grails-app>视图>登录,复制内容并将其粘贴到您的app auth.gsp和denied.gsp视图中
  4. 您可以在此repo中查看观看位置和观看内容的示例。

答案 1 :(得分:0)

要创建自定义登录页面,请在grails-app/views/login/中创建名为auth.gsp的视图。确保它将参数j_usernamej_password传递给操作${postUrl}。以下是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>

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

答案 2 :(得分:0)

有时这可能很烦人。 所以,如果你找对了,你想改变登录弹簧安全提供的外观和感觉吗?

完成UI设计(CSS,HTML和其他)后,请执行此操作。

现在更改输入名称并将其与auth.gsp进行比较,从Spring安全性进行比较。

您可以在键盘上按住ctrl+shift+N,然后输入auth.gsp进行检查。

将它与你的比较并尽可能地改变。

在您的UrlMAppings.groovy中执行此修改

"/"(view:"/Your login page")

"/login/auth"(view:"/Your login page")

现在重启你的服务,那就是全部。

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

请注意,这适用于Grails 3.x