SpringBoot Security+JWT授权验证模块使用

简介

通过JWT每次请求带上token可以进行无状态登录,不必保存Session等。

创建

在IDEA中使用Spring Initializr创建一个Security项目,注意,创建之后maven是不可用的,还需要添加maven支持,模块右键,Add Framework Support,选择maven

依赖

添加JWT依赖,和一个web依赖包,毕竟要用来登录认证。

		<!--jwt-->
		<dependency>
			<groupId>io.jsonwebtoken</groupId>
			<artifactId>jjwt</artifactId>
			<version>0.9.1</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
准备

提前准备好一些实体类,和一些常量。
User实体类,实现了Spring SecurityUserDetails接口,其实没用到这些方法,不实现也可以。

@Entity
public class User implements UserDetails {
   
    private String username;
    private String password;

    public void setUsername(String username) {
   
        this.username = username;
    }

    public void setPassword(String password) {
   
        this.password = password;
    }

    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
   
        return null;
    }

    @Override
    public String getPassword() {
   
        return password;
    }

    @Override
    public String getUsername() {
   
        return username;
    }

    @Override
    public boolean isAccountNonExpired() {
   
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
   
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
   
        return true;
    }

    @Override
    public boolean isEnabled() {
   
        return true;
    }
}

一些常量,SECRET token签名用的,以及token过期时间等。

public class SecurityConstants {
   
    public static final String SECRET = "SecretKeyToGenJWTs";
    public static final long EXPIRATION_TIME = 864_000_000; // 10 days
    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值