我正在使用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>
最佳答案
好吧,您要更改的所有内容都位于插件下的DefaultSecurityConfig.groovy
中。
我记得对电子邮件ID执行此操作,并且已覆盖了一些安全配置。
为了将j_username表单字段设置为其他名称,您可以覆盖
grails.plugin.springsecurity.apf.usernameParameter=zipcode //your domain field name
并通过覆盖安全配置中的以下内容来更改Domain类中需要视为用户名的字段:
grails.plugins.springsecurity.userLookup.usernamePropertyName='zipcode'
切记要深入
DefaultSecurityConfig.groovy
文件进行其他任何自定义操作。我建议创建一个单独的Security配置文件,并在需要时覆盖任何配置。希望能帮助到你!!
关于grails - 如何在Grails中使用PIN码而不是用户名和密码登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36218067/