前言
Spring security内置的用户存储非常便利,但是当我们的应用需要一些更特殊的功能时,当开箱即用的用户存储无法满足需求的时候,我们就需要创建和配置自定义的的用户 详情服务,最终数据位于关系型数据库中,使用Spring Data respository
一、定义用户实体
如下是一个Boss类
package sia.tacocloud.DAO;
import com.sun.istack.NotNull;
import lombok.Data;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Component;
import javax.persistence.*;
import java.util.Arrays;
import java.util.Collection;
@Entity
@Data
@Table(name="boss")
@Component
public class Boss implements UserDetails {
@NotNull()
private String name;
private String password;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return Arrays.asList(