当前位置: 首页 > 知识库问答 >
问题:

GRAILS+Spring Security插件-添加用户时密码不加密

方嘉言
2023-03-14

引导程序初始化代码:

...
def init = { servletContext ->
    def adminRole = Role.findOrSaveWhere(authority: 'ROLE_ADMIN')
    def user = User.findOrSaveWhere(username: 'raf',
            password: 'password')
    if (!user.authorities.contains(adminRole)){
        UserRole.create(user, adminRole)
    }
...

我在一个教程中看到,这个用户的密码应该出现在db中编码(使用dbconsole检查),但在我的例子中,它不是(这里只是“password”)。

所以我去了用户域,做了这些恐怖的改变:

def beforeUpdate() {
        encodePassword()
    }

    protected void encodePassword() {
        password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : springSecurityService.encodePassword(password)
    }
 Cannot invoke method encodePassword() on null object

共有1个答案

扶隐水
2023-03-14

所以为了解释正在发生的事情希望它更有意义

您只是告诉代码,如果它找不到encode,就重复加密函数。

上面的代码默认在这里

 password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : password
if (springSecurityService?.passwordEncoder) {
springSecurityService.encodePassword(password) 
} else {
password
}
compile 'org.grails.plugins:spring-security-core:3.1.2'
 类似资料:
  • 是否可以使用构造格式的URL? 我已尝试使用以下设置值: (此调用的第三方应用程序不支持标头和其他身份验证方法) 我想这是不支持的?

  • 当您在创建过程时,您可以在这个对话框中输入要应用到压缩文件中的密码。输入的密码只会对单个的当前压缩操作有用,如果您需要改变整体的密码时,您必须使用 文件菜单 的“设置默认密码”命令来输入它。 如果“显示密码”选项是禁用的话,您将被要求输入密码两次,以确认是否正确。 如果您设置了“加密文件名”选项, WinRAR 不只加密数据,而且加密所有包括文件数据、文件名、大小、属性、注释和其它块等所有可感知的

  • 本文向大家介绍python 添加用户设置密码并发邮件给root用户,包括了python 添加用户设置密码并发邮件给root用户的使用技巧和注意事项,需要的朋友参考一下 以上所述是小编给大家介绍的python 添加用户设置密码并发邮件给root用户的全部叙述,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

  • 问题内容: 当我转到mydomain.com:8080时,默认情况下没有授权机制。我看过配置区域,但是找不到任何地方来添加基本的用户名和密码 问题答案: 转到 管理Jenkins >配置全局安全性,_然后选择 _启用安全性 复选框。 对于基本的用户名/密码认证,我会建议选择 詹金斯自己的用户数据库 在安全领域,然后选择 登录用户可以做任何事情 的或基于矩阵策略(在当你有多个用户以不同的权限的情况下

  • 当我进入我的领域。com:8080默认情况下没有授权机制。我已经查看了配置区域,但找不到添加基本用户名和密码的地方

  • 我是Ctakes的新用户。我遵循了用户安装指南并添加了UMLS访问权限。在我编辑了runctakescpe.bat和runctakescvd.bat之后,我得到了以下内容: F:\apache-CTAKES-4.0.0>设置CTAKES_HOME=F:\apache-CTAKES-4.0.0 f:\apache-ctakes-4.0.0>如果存在“f:\apache-ctakes-4.0.0\bi