Spring Security自定义用户认证逻辑
目录
处理用户信息获取逻辑
这个获取逻辑指的是获取存储在数据库/磁盘/内存等位置的用户信息,取得数据后用于与用户输入的数据进行比对。
Spring Security的自定义用户获取逻辑被封装在UserDetailsService
接口中
package org.springframework.security.core.userdetails;
public interface UserDetailsService {
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
}
可以通过实现UserDetailsService
,在loadUserByUsername
方法中实现通过用户名获取用户数据的逻辑,用户实体类必须实现UserDetails
接口,在spring security中已经有了一个实现org.springframework.security.core.userdetails.User
。
MyUserDetailsService.java
Component
public class MyUserDetailsService implements UserDetailsService {
private Logger logger = LoggerFactory.getLogger(MyUserDetailsService.class);
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundExcep