use of com.junliang.spring.pojo.bean.UserInfo in project spring-boot by Linda-Tan.
the class AccessFilter method run.
@Override
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
if (isIgnorePath(request.getRequestURI()))
return null;
String token = request.getHeader(jwtTokenHeader);
if (StringUtils.isBlank(token)) {
log.warn("access token is empty");
ctx.setSendZuulResponse(false);
ctx.setResponseStatusCode(401);
return null;
}
try {
// 校验token合法性
Jws<Claims> claimsJws = Jwts.parser().setSigningKey(RSAHelper.getBase64PublicKey(pubKeyPath)).parseClaimsJws(token);
Claims body = claimsJws.getBody();
UserInfo userInfo = new UserInfo();
userInfo.setId(body.getId());
userInfo.setName(body.getSubject());
log.info("parser token : {}", body);
} catch (Exception e) {
ctx.setResponseBody(JSON.toJSONString(new BaseResponse(ResponseCode.EX_OTHER_CODE, "Token error or Token is Expired!")));
log.error(e.getMessage());
}
return null;
}
use of com.junliang.spring.pojo.bean.UserInfo in project spring-boot by Linda-Tan.
the class UserService method login.
@DataSource(name = "readDataSource")
public String login(String username, String password) {
User user = userRepository.findByName(username);
if (user == null)
throw new BaseException(4001, "用户名不存在");
if (!user.getPassword().equals(password))
throw new BaseException(4002, "用户密码错误");
UserInfo userInfo = new UserInfo();
BeanCopierUtils.copyProperties(user, userInfo);
return generateToken(userInfo);
}
Aggregations