三UserDetailsService与PasswordEncoder接口详解

Posted 上善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三UserDetailsService与PasswordEncoder接口详解相关的知识,希望对你有一定的参考价值。

一、UserDetailsService接口

当什么也没有配置的时候,账号和密码是由Spring Security定义生成的。而在实际项目中账号和密码都是从数据库中查询出来的。所以,我们要通过自定义控制认证逻辑。
如果需要自定义逻辑时,只需要实现UserDetailsService接口即可。接口定义如下:

  • 返回值 UserDetails,这个类是系统默认的用户“主体
  • UserDetails接口实现类如下:

    以后我们只需要使用User这个实现类即可!
  • 方法参数 username
    表示用户名。此值是客户端表单传递过来的数据。默认情况下必须叫username,否则无法接收。

二、PasswordEncoder 接口


接口实现类 BCryptPasswordEncoder

测试

以上是关于三UserDetailsService与PasswordEncoder接口详解的主要内容,如果未能解决你的问题,请参考以下文章

自定义验证类UserDetailsService 实现Security框架UserDetailsService的接口

项目一众筹网07_04_SpringSecurity记住我数据库登录-默认实现创建UserDetailsService类装配UserDetailsService怎么改源码

Spring Security----RBAC权限控制模型,和权限相关知识点整理

SpringSecurity 学习笔记

Spring Security 2.0.6 调用 UserDetailSservice 的 loadUserByuserName 方法时

在 Spring Security 中使用 UserDetailSservice 使用电子邮件进行登录身份验证