我使用的是grails 2.4.3和spring security spring-security-core:2.0-RC5。我可以使用用户名和密码轻松登录。现在要求我必须使用密码而不是用户名和密码登录。登录表单中没有用户名,密码字段。现在这就是问题所在。我无法尝试,因为我不知道如何做而不是用户名和密码。请有人帮帮我吗?在这里,我只能与用户名和密码字段共享我的登录表单,其工作方式如下>>>
<form action='${postUrl}' method='POST' id='loginForm' class='cssform' autocomplete='off'>
<div>
<span><label>Username</label></span>
<span><input type="text" class="textbox" name='j_username' id="active"></span>
</div>
<div>
<span><label>Password</label></span>
<span><input type="password" name='j_password' class="password"></span>
</div>
<div class="sign">
<div class="submit">
<input type='submit' id="submit" value='${message(code: "springSecurity.login.button")}'/>
</div>
<div class="clear"> </div>
</div>
</form>
答案 0 :(得分:1)
你要改变的一切都在插件下的DefaultSecurityConfig.groovy
。
我记得为电子邮件ID执行此操作并覆盖了多个安全配置。
为了将j_username表单字段设置为其他名称,您可以覆盖
grails.plugin.springsecurity.apf.usernameParameter = zipcode //您的域名字段
并通过覆盖安全配置中的以下内容来更改需要从Domain类视为用户名的字段:
grails.plugins.springsecurity.userLookup.usernamePropertyName =&#39;邮编&#39;
请记住深入DefaultSecurityConfig.groovy
文件中进行任何其他此类自定义。我建议创建一个单独的安全配置文件,并在必要时覆盖任何配置。
希望它有所帮助!!