grails - 如何在Grails中使用PIN码而不是用户名和密码登录

标签 grails spring-security grails-2.0

我正在使用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/

相关文章:

grails - Grails 2.1 dateCreated域保存时间歇性地为null

json - 如何使用Groovy将JSON数据元素解析为域对象

使用空主体获取 grails Controller 操作时出现 Json 解析错误

Grails 与静态映射表的关系

grails - grails DataSource.groovy引用bean来解码密码

Spring Boot 2 - 基于过滤器的 JWT Spring Security 实现中的 403 而不是 401

spring-boot - Swisscom Application Cloud 更新后的 Spring Boot HTTPS 重定向循环

java - Spring Boot : How could I customize the forbidden error json

Grails 2.x createCriteria 'or' 不适用于嵌套关联

grails - 使用Grails在 Elasticsearch 中安装head插件