Class SecurityUserDetailService

java.lang.Object
com.codeupsoft.component.security.service.SecurityUserDetailService
All Implemented Interfaces:
org.springframework.security.core.userdetails.UserDetailsService

public abstract class SecurityUserDetailService extends Object implements org.springframework.security.core.userdetails.UserDetailsService
安全用户详情服务抽象类.

业务模块需继承此类并实现loadUser方法,提供用户信息加载逻辑. 集成Spring Security的UserDetailsService接口.

Author:
Liu,Dongdong
  • Constructor Details

    • SecurityUserDetailService

      public SecurityUserDetailService()
  • Method Details

    • loadUserByUsername

      public org.springframework.security.core.userdetails.UserDetails loadUserByUsername(String username)
      根据用户名加载用户信息(Spring Security接口方法).
      Specified by:
      loadUserByUsername in interface org.springframework.security.core.userdetails.UserDetailsService
      Parameters:
      username - 用户名
      Returns:
      用户详情
      Throws:
      org.springframework.security.core.userdetails.UsernameNotFoundException - 如果用户不存在
    • checkPassword

      protected boolean checkPassword(String rawPassword, String encodedPassword)
      检查密码是否匹配.

      默认实现使用Spring Security的PasswordEncoder进行密码匹配.

      Parameters:
      rawPassword - 原始密码
      encodedPassword - 加密后密码
      Returns:
      如果密码匹配返回true,否则返回false
    • loadUser

      public abstract LoginUser loadUser(String username, String loginPassword)
      根据用户名和密码加载用户信息(业务实现方法).

      业务模块需实现此方法,从数据库或其他数据源加载用户信息.

      Parameters:
      username - 用户名
      loginPassword - 登录密码
      Returns:
      登录用户信息