kongzy
2023-09-22 3124f3a5b7f45d043b228829b6b3a2e541b31574
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.nms.swspkmas_standalone.shiro.token;
 
import com.nms.swspkmas_standalone.utils.JwtTokenUtil;
import org.apache.shiro.authc.AuthenticationToken;
 
/**
 * @Author ling.quan
 * @Date 2022/2/17 16:22
 * @Desciption 该类与UsernamePasswordToken差不多,都是AuthenticationToken接口的实现类
 *  * 目的是封装成UsernamePasswordToken让shiro进行登录、登出等操作
 */
 
public class JwtToken implements AuthenticationToken {
 
    private static final long serialVersionUID = 1L;
 
    //加密后的 JWT token
    private String token;
 
    private String username;
 
    public JwtToken(String token){
        this.token = token;
        this.username = JwtTokenUtil.getUserNameFromToken(token);
    }
 
    @Override
    public Object getPrincipal() {
        return this.username;
    }
 
    @Override
    public Object getCredentials() {
        return token;
    }
 
}