RedisTokenManager.java
3.03 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//package com.xly.token;
//
//import cn.hutool.core.util.ObjectUtil;
//import cn.hutool.core.util.StrUtil;
//import cn.hutool.json.JSONObject;
//import cn.hutool.json.JSONUtil;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.util.StringUtils;
//
///**
// * 通过Redis存储和验证token的实现类
// * @author qianbao
// * @see TokenManager
// */
//@Component
//public class RedisTokenManager{
//
// private @Autowired
// JedisUtil jedisUtil;
//
// public TokenModel createToken(String userId, String sBrandsId, String sSubsidiaryId, String userType , UserInfo gdslogininfo,String sLoginType) {
// //使用uuid作为源token
// String token = new IdGen().getNextId();
// TokenModel model = new TokenModel(userId, sBrandsId, sSubsidiaryId, token,userType,sLoginType,gdslogininfo);
// //存储到redis并设置过期时间
// jedisUtil.createAndExpireMinutes(sLoginType+userId, token, Constants.TOKEN_EXPIRES_MINUTES);
// return model;
// }
//
// @Override
// public TokenModel getToken(String authentication) {
// if(StringUtils.isEmpty(authentication)){
// return null;
// }else{
// authentication= AesUtil.me().decrypt(authentication,AesUtil.me().getKey());
// if (authentication == null || authentication.length() == 0) {
// return null;
// }
// String[] param = authentication.split("_");
// if (param.length != 6) {
// return null;
// }
// //使用userId,sBrandsId,sSubsidiaryId,源token简单拼接成的token,可以增加加密措施
// String userId = param[0];
// String sBrandsId = param[1];
// String sSubsidiaryId = param[2];
// String token = param[3];
// String userType = param[4];
// String sLoginType = param[5];
// UserInfo gdslogininfo= null;
// Object v = jedisUtil.getObject(userId+"_"+sBrandsId+"_"+sSubsidiaryId);
// if(ObjectUtil.isNotEmpty(v)){
// gdslogininfo = JSONUtil.toBean((JSONObject) v,UserInfo.class);
// }
// return new TokenModel(userId, sBrandsId, sSubsidiaryId, token,userType,sLoginType,gdslogininfo);
// }
// }
//
// @Override
// public int checkToken(TokenModel model) {
// String token = String.valueOf(jedisUtil.get(model.getsLoginType()+model.getUserId()));
// if (StrUtil.isNullOrUndefined(token)) {
// return 1;
// }
// if(!token.equals(model.getToken())) {
// return 2;
// }
// //如果验证成功,说明此用户进行了一次有效操作,延长token的过期时间
// jedisUtil.expireMinutes(model.getsLoginType()+model.getUserId(),Constants.TOKEN_EXPIRES_MINUTES);
// return 0;
// }
//
// @Override
// public void deleteToken(String userId,String sLoginType) {
// jedisUtil.del(sLoginType+userId);
// }
//}