如何在Grails应用程序中实现我自己的登录页面而不是默认的Spring安全登录页面?
我已经浏览了互联网上的一些博客,但在没有SpringSecurity的情况下,我无法找到如何创建自己的登录页面。我该怎么做?要做到这一点,您需要完成以下任务:如何在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
您可以在此中查看视图位置和视图内容的示例。要创建自定义登录页面,请在
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中有没有一种新的实现方法?