mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-10-03 18:56:39 +08:00
adding toekn logic
This commit is contained in:
parent
a9ffb1c75b
commit
5769f3413d
@ -66,11 +66,11 @@ public class SmartAuthenticationInterceptor extends HandlerInterceptorAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//不需要登录的注解
|
//不需要登录的注解
|
||||||
Boolean isNoNeedLogin = ((HandlerMethod) handler).getMethodAnnotation(NoNeedLogin.class) != null;
|
Boolean isNoNeedLogin = ((HandlerMethod) handler).getMethodAnnotation(NoNeedLogin.class) != null;
|
||||||
if (isNoNeedLogin) {
|
if (isNoNeedLogin) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Boolean noNeedLogin = request.getServletPath().startsWith("/royalcanin");
|
Boolean noNeedLogin = request.getServletPath().startsWith("/royalcanin")&&request.getParameter("type").equals("get");
|
||||||
if (noNeedLogin) {
|
if (noNeedLogin) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ public class SmartAuthenticationInterceptor extends HandlerInterceptorAdapter {
|
|||||||
|
|
||||||
//根据token获取登录用户
|
//根据token获取登录用户
|
||||||
RequestTokenBO requestToken = loginTokenService.getEmployeeTokenInfo(xAccessToken);
|
RequestTokenBO requestToken = loginTokenService.getEmployeeTokenInfo(xAccessToken);
|
||||||
if (null == requestToken) {
|
if (null == requestToken &&!request.getServletPath().startsWith("/royalcanin")) {
|
||||||
this.outputResult(response, LoginResponseCodeConst.LOGIN_ERROR);
|
this.outputResult(response, LoginResponseCodeConst.LOGIN_ERROR);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -119,10 +119,12 @@ public class SmartAuthenticationInterceptor extends HandlerInterceptorAdapter {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//需要验证权限
|
//需要验证权限
|
||||||
Boolean privilegeValidPass = privilegeEmployeeService.checkEmployeeHavePrivilege(requestToken, controllerName, methodName);
|
if(!request.getServletPath().startsWith("/royalcanin")&&request.getParameter("type").equals("get")) {
|
||||||
if (! privilegeValidPass) {
|
Boolean privilegeValidPass = privilegeEmployeeService.checkEmployeeHavePrivilege(requestToken, controllerName, methodName);
|
||||||
this.outputResult(response, LoginResponseCodeConst.NOT_HAVE_PRIVILEGES);
|
if (!privilegeValidPass) {
|
||||||
return false;
|
this.outputResult(response, LoginResponseCodeConst.NOT_HAVE_PRIVILEGES);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SmartRequestTokenUtil.setUser(request, requestToken);
|
SmartRequestTokenUtil.setUser(request, requestToken);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,20 +1,45 @@
|
|||||||
package net.lab1024.smartadmin.module.system.royalcanin;
|
package net.lab1024.smartadmin.module.system.royalcanin;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import io.jsonwebtoken.Claims;
|
||||||
|
import io.jsonwebtoken.Jwts;
|
||||||
|
import io.jsonwebtoken.SignatureAlgorithm;
|
||||||
import net.lab1024.smartadmin.common.heartbeat.StringUtil;
|
import net.lab1024.smartadmin.common.heartbeat.StringUtil;
|
||||||
|
import net.lab1024.smartadmin.module.system.login.LoginTokenService;
|
||||||
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberAddEntity;
|
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberAddEntity;
|
||||||
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberCheckEntity;
|
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberCheckEntity;
|
||||||
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberGetEntity;
|
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberGetEntity;
|
||||||
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberUpdateMemberLevelEntity;
|
import net.lab1024.smartadmin.module.system.royalcanin.member.MemberUpdateMemberLevelEntity;
|
||||||
import net.lab1024.smartadmin.util.SmartHttpUtil;
|
import net.lab1024.smartadmin.util.SmartHttpUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class MemberService {
|
public class MemberService {
|
||||||
private String url = "http://miniapp-test.royalcanin.com.cn:7080/crm/member/";
|
private String url = "http://miniapp-test.royalcanin.com.cn:7080/crm/member/";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LoginTokenService loginTokenService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过期时间一天
|
||||||
|
*/
|
||||||
|
private static final int EXPIRE_SECONDS = 1 * 24 * 3600;
|
||||||
|
/**
|
||||||
|
* jwt加密字段
|
||||||
|
*/
|
||||||
|
private static final String CLAIM_ID_KEY = "id";
|
||||||
|
|
||||||
|
@Value("${jwt.key}")
|
||||||
|
private String jwtKey;
|
||||||
|
|
||||||
public String memberGet(MemberGetEntity memberGetEntity)throws Exception {
|
public String memberGet(MemberGetEntity memberGetEntity)throws Exception {
|
||||||
Map<String, String> paramMap = new HashMap<>();
|
Map<String, String> paramMap = new HashMap<>();
|
||||||
@ -22,7 +47,12 @@ public class MemberService {
|
|||||||
paramMap.put("id",StringUtil.toString(memberGetEntity.getId()));
|
paramMap.put("id",StringUtil.toString(memberGetEntity.getId()));
|
||||||
paramMap.put("mobile",memberGetEntity.getMobile());
|
paramMap.put("mobile",memberGetEntity.getMobile());
|
||||||
paramMap.put("unionId",memberGetEntity.getUnionId());
|
paramMap.put("unionId",memberGetEntity.getUnionId());
|
||||||
return SmartHttpUtil.sendPostForm(url+"get",paramMap,null);
|
String sb = SmartHttpUtil.sendPostForm(url+"get",paramMap,null);
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(sb);
|
||||||
|
JSONObject json = JSONObject.parseObject(jsonObject.getString("data"));
|
||||||
|
String id = json.getString("id");
|
||||||
|
jsonObject.put("xaccessToken",generateToken(id));
|
||||||
|
return jsonObject.toJSONString();
|
||||||
}
|
}
|
||||||
public String memberCheck(MemberCheckEntity memberCheckEntity)throws Exception {
|
public String memberCheck(MemberCheckEntity memberCheckEntity)throws Exception {
|
||||||
Map<String, String> paramMap = new HashMap<>();
|
Map<String, String> paramMap = new HashMap<>();
|
||||||
@ -64,4 +94,31 @@ public class MemberService {
|
|||||||
paramMap.put("memberLevel",StringUtil.toString(memberUpdateMemberLevelEntity.getMemberLevel()));
|
paramMap.put("memberLevel",StringUtil.toString(memberUpdateMemberLevelEntity.getMemberLevel()));
|
||||||
return SmartHttpUtil.sendPostForm(url+"check",paramMap,null);
|
return SmartHttpUtil.sendPostForm(url+"check",paramMap,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 功能描述: 生成JWT TOKEN
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @auther Carl
|
||||||
|
* @date 2021/12/8 0012
|
||||||
|
*/
|
||||||
|
public String generateToken(String UserId) {
|
||||||
|
Long id = Long.parseLong(UserId);
|
||||||
|
/**将token设置为jwt格式*/
|
||||||
|
String baseToken = UUID.randomUUID().toString();
|
||||||
|
LocalDateTime localDateTimeNow = LocalDateTime.now();
|
||||||
|
LocalDateTime localDateTimeExpire = localDateTimeNow.plusSeconds(EXPIRE_SECONDS);
|
||||||
|
Date from = Date.from(localDateTimeNow.atZone(ZoneId.systemDefault()).toInstant());
|
||||||
|
Date expire = Date.from(localDateTimeExpire.atZone(ZoneId.systemDefault()).toInstant());
|
||||||
|
|
||||||
|
Claims jwtClaims = Jwts.claims().setSubject(baseToken);
|
||||||
|
jwtClaims.put(CLAIM_ID_KEY, id);
|
||||||
|
String compactJws = Jwts.builder().setClaims(jwtClaims).setNotBefore(from).setExpiration(expire).signWith(SignatureAlgorithm.HS512, jwtKey).compact();
|
||||||
|
|
||||||
|
// EmployeeBO employeeBO = employeeService.getById(id);
|
||||||
|
// RequestTokenBO tokenBO = new RequestTokenBO(employeeBO);
|
||||||
|
|
||||||
|
return compactJws;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user