自定义TOKEN鉴权示例完善

This commit is contained in:
zhangdaiscott
2021-08-18 10:41:31 +08:00
parent cd90107d80
commit 90ebdde86e
2 changed files with 22 additions and 42 deletions

View File

@@ -1,41 +0,0 @@
package org.jeecg.config.jimureport;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.common.util.TokenUtils;
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
/**
* 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制)
* 1.自定义获取登录token
* 2.自定义获取登录用户
*/
@Component
class JimuReportTokenService implements JmReportTokenServiceI {
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
@Lazy
private RedisUtil redisUtil;
@Override
public String getToken(HttpServletRequest request) {
return TokenUtils.getTokenByRequest(request);
}
@Override
public String getUsername(String token) {
return JwtUtil.getUsername(token);
}
@Override
public Boolean verifyToken(String token) {
return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
}
}

View File

@@ -14,22 +14,43 @@ import javax.servlet.http.HttpServletRequest;
@Component
public class JimuReportTokenService implements JmReportTokenServiceI {
/**
* 通过请求获取Token
* @param request
* @return
*/
@Override
public String getToken(HttpServletRequest request) {
//return TokenUtils.getTokenByRequest(request);
return "123456";
}
/**
* 通过Token获取登录人用户名
* @param token
* @return
*/
@Override
public String getUsername(String token) {
// return JwtUtil.getUsername(token);
return "admin";
}
/**
* Token校验
* @param token
* @return
*/
@Override
public Boolean verifyToken(String token) {
//token校验默认返回true需自己实现
//return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
return true;
}
/**
* 自定义请求头
* @return
*/
@Override
public HttpHeaders customApiHeader() {
HttpHeaders header = new HttpHeaders();