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

Spring Security加密密码问题[重复]

松茂实
2023-03-14

我遇到的问题是,我得到错误“There is no PasswordEncoder mapped for The id”null“”。我读过springsecurity如何不允许密码为纯文本(我理解这是为了安全措施),但问题是我真的不知道如何修复这个错误

    @Override                                                                 
    protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().antMatchers("/", "/home").permitAll().antMatchers("/admin").hasRole("ADMIN")
            .anyRequest().authenticated().and().formLogin().loginPage("/login").permitAll().and().logout()
            .permitAll();
    http.exceptionHandling().accessDeniedPage("/403");
}

@Autowired                                                                    
DataSource dataSource;

@Autowired
public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {
    auth.jdbcAuthentication().dataSource(dataSource)
            .usersByUsernameQuery("select username, password, enabled from users where username=?")
            .authoritiesByUsernameQuery("select username, role from user_roles where username=?");

}

共有1个答案

耿和韵
2023-03-14

这个问题之前已经出现过,我已经在这里写了这个问题的答案。这是第一个命中,如果你谷歌这个错误消息。

这个错误也是Spring Security文档中提到的第一个错误。

当存储的某个密码没有密码存储格式中描述的id时,会出现以下错误。

 类似资料:
  • 我对Spring和SpringSecurity很陌生。我的数据库中有一个表,其中存储了用户及其密码。(Postgresql数据库)。每次当我在我的表中插入一个新记录时,我都有一个触发器,它使用md5算法加密密码。在我的应用程序中,我使用了Spring,我也尝试使用SpringSecurity3.2模块。我提供了自己的服务。问题是我不知道该怎么做才能在这种情况下使身份验证成功。我认为spring由于

  • 当我尝试执行代码时,我收到一个无效的密码错误。我想提及的是,我也在使用相同的密码功能进行注册。但是,当我在登录代码中实现它时,我并没有获得成功。请告诉我我做错了什么,并帮助我修复错误。 另一件事是,我输入的密码与注册演示用户时使用的密码相同/正确。这是登录的代码。

  • 我的Arduino板上有以下代码: 它可以加密和解密,我在串行下一个输出: njf 00 xnz 92 nvczkexeuhkg = = < br >解密:123456789 但问题是,如果我使用在线工具进行解密https://www.devglan.com/online-tools/aes-encryption-decryption,键1234567891234567、IV 7654321987

  • 我试图找出一个问题,我有什么发生后,提交了密码重置表提供的django。contrib。认证。URL。点击按钮请求提交按钮时,会将电子邮件正确发送到与用户帐户相关的电子邮件,但会显示505错误页面。查看错误日志时,给出的错误为: 未找到password_reset_done。password_reset_done不是有效的视图函数或模式名称。 在myproject/URL中。pyurlspatte

  • 问题内容: 我有一个简单的应用程序,可以在其中注册用户并对其进行身份验证。我已经使用编码了密码,并且能够成功对其进行身份验证。我在我的应用程序中使用Spring 3,Spring Security 3和Hibernate 3。 现在,我想用用户ID对他们的密码加盐,但是我无法实现此功能。有人可以帮我实现吗?我已经尝试了一段时间,但无法完成它。 这是我为用户添加ID并对其进行身份验证的代码。 xyz

  • 问题内容: 我已经以加密格式将用户密码存储在数据库中。但是,现在,当用户想要登录并尝试输入其原始密码时,该代码始终会将输入的(原始)密码与数据库中存储的加密版本进行比较,从而导致登录失败。 请告诉我如何比较输入的(原始)密码和存储在数据库中的加密密码。 问题答案: 几乎可以肯定,您应该对密码进行 哈希处理 ,而不是使用可逆加密。您可能还需要 用盐 来做…在这种情况下,正确的步骤是: 查找最初对密码