接着说,接着说🧖♀️代码资源在下面💇♀️
上一期传送门在这里:玩转SpringBoot安全管理:SpringSecurity介绍及入门、自定义用户认证及授权管理、MVC Security安全配置介绍(内存和JDBC身份认证实现)
这一章节会比较困难🦹♂️🦹♂️🦹♂️
这里代码相对来说比较多,我就不展示啦💁♀️💁♀️
微信搜索“大魔王编程乐园”公众号,关注并发送SS身份认证 就可以得到项目源码啦🤠下期见🐱🏍
文章目录
UserDetailService身份认证
对于用户量比较大的项目来说呢,频繁使用JDBC进行数据库查询认证非常麻烦,会降低网站登陆速度,对于一个完善的项目来说,如果有一些业务已经实现了用户信息查询的服务,那么就没有必要再去使用JDBC查询了
那么现在在我们的项目里建立定义查询用户及角色信息的服务接口
1.基本工作
修改pom文件,这里不演示👱♀️
1.1 创建实体类
Authority.class
package com.security.domain;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable;
@Entity(name = "t_authority ")
public class Authority implements Serializable {
// 由于使用了缓存,所以一定要对实体类进行序列化
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String authority ;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
@Override
public String toString() {
return "Authority{" +
"id=" + id +
", authority='" + authority + '\'' +
'}';
}
}
Customer .class
package com.security.domain;
import javax.persistence.*;
import java.io.Serializable;
@Entity(name = "t_customer")
public class Customer implements Serializable {
// 由于使用了缓存,所以一定要对实体类进行序列化
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String username;
private String password;
private Boolean valid;
@Override
public String toString() {
return "Customer{" +
"id=" + id +
", use