security loginuser
This commit is contained in:
parent
21909c195e
commit
f9cc1fb291
|
|
@ -14,6 +14,7 @@ import com.bonus.auth.form.LoginBody;
|
|||
import com.bonus.auth.mapper.AuthCustCasualMapper;
|
||||
import com.bonus.auth.service.*;
|
||||
import com.bonus.domain.SmsCodeVerifyDTO;
|
||||
import com.bonus.system.api.model.LoginUser;
|
||||
import com.bonus.utils.AesEncryptUtil;
|
||||
import com.bonus.utils.id.Id;
|
||||
import com.bonus.utils.SM4EncryptUtils;
|
||||
|
|
@ -101,7 +102,7 @@ public class TokenController {
|
|||
if (keys.size() >= concurrency){
|
||||
return R.fail("当前系统用户并发数超过系统配置,请稍后再试");
|
||||
}
|
||||
CustInfoAppIdLoginVO loginUser = custLogin(form);
|
||||
LoginUser loginUser = custLogin(form);
|
||||
Map<String, Object> map = tokenService.createToken(loginUser);
|
||||
loginUser.setToken((String) map.get(CustTokenService.ACCESS_TOKEN));
|
||||
loginUser.setExpireIn((Long) map.get(CustTokenService.EXPIRES_IN));
|
||||
|
|
@ -109,7 +110,7 @@ public class TokenController {
|
|||
return R.ok(loginUser);
|
||||
}
|
||||
|
||||
private CustInfoAppIdLoginVO custLogin(LoginBody content) {
|
||||
private LoginUser custLogin(LoginBody content) {
|
||||
// if (CharSequenceUtil.isNotBlank(content.getMobile())) {
|
||||
// content.setMobile(AesEncryptUtil.aesDecode(content.getMobile()));
|
||||
// }
|
||||
|
|
@ -136,7 +137,7 @@ public class TokenController {
|
|||
}
|
||||
custInfo.setIdCard(SM4EncryptUtils.sm4Encryptbyconfig(content.getIdCard()));
|
||||
}
|
||||
CustInfoAppIdLoginVO result = this.custInfoMapper.selectLoginInfo(custInfo);
|
||||
LoginUser result = this.custInfoMapper.selectLoginInfo(custInfo);
|
||||
if (Objects.isNull(result)) {
|
||||
throw new ServiceException("未找到用户");
|
||||
} else {
|
||||
|
|
@ -158,7 +159,7 @@ public class TokenController {
|
|||
System.out.println(flag);
|
||||
}
|
||||
|
||||
public CustInfoAppIdLoginVO addOrUpdateCustCasual(Integer sourceType, CustInfoAppIdLoginVO result) {
|
||||
public LoginUser addOrUpdateCustCasual(Integer sourceType, LoginUser result) {
|
||||
Long custId = result.getCustId();
|
||||
CustCasual custCasual = this.authCustCasualMapper.selectCustCasualByCustId(custId, sourceType, DelFlagEnum.DEL_FALSE.key());
|
||||
String openid;
|
||||
|
|
@ -239,7 +240,7 @@ public class TokenController {
|
|||
@PostMapping("refresh")
|
||||
public R<?> refresh(HttpServletRequest request) {
|
||||
try {
|
||||
CustInfoAppIdLoginVO loginUser = tokenService.getLoginUser(request);
|
||||
LoginUser loginUser = tokenService.getLoginUser(request);
|
||||
if (StringUtils.isNotNull(loginUser)) {
|
||||
tokenService.refreshToken(loginUser);
|
||||
return R.ok();
|
||||
|
|
|
|||
|
|
@ -2,10 +2,11 @@ package com.bonus.auth.mapper;
|
|||
|
||||
import com.bonus.domain.CustInfo;
|
||||
import com.bonus.domain.CustInfoAppIdLoginVO;
|
||||
import com.bonus.system.api.model.LoginUser;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface AuthCustInfoMapper {
|
||||
CustInfoAppIdLoginVO selectLoginInfo(CustInfo custInfo);
|
||||
LoginUser selectLoginInfo(CustInfo custInfo);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ import com.bonus.common.security.utils.SecurityUtils;
|
|||
import com.bonus.config.SystemConfig;
|
||||
import com.bonus.system.api.RemoteUserService;
|
||||
import com.bonus.domain.CustInfoAppIdLoginVO;
|
||||
import com.bonus.system.api.domain.SysUser;
|
||||
import com.bonus.system.api.model.LoginUser;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -67,7 +69,7 @@ public class CustTokenService {
|
|||
/**
|
||||
* 创建令牌
|
||||
*/
|
||||
public Map<String, Object> createToken(CustInfoAppIdLoginVO loginUser) {
|
||||
public Map<String, Object> createToken(LoginUser loginUser) {
|
||||
// 检查并删除已有的token
|
||||
delExistingToken(loginUser.getCustId());
|
||||
String token = IdUtils.fastUUID();
|
||||
|
|
@ -119,7 +121,7 @@ public class CustTokenService {
|
|||
*
|
||||
* @return 用户信息
|
||||
*/
|
||||
public CustInfoAppIdLoginVO getLoginUser() {
|
||||
public LoginUser getLoginUser() {
|
||||
return getLoginUser(ServletUtils.getRequest());
|
||||
}
|
||||
|
||||
|
|
@ -128,7 +130,7 @@ public class CustTokenService {
|
|||
*
|
||||
* @return 用户信息
|
||||
*/
|
||||
public CustInfoAppIdLoginVO getLoginUser(HttpServletRequest request) {
|
||||
public LoginUser getLoginUser(HttpServletRequest request) {
|
||||
// 获取请求携带的令牌
|
||||
String token = SecurityUtils.getToken(request);
|
||||
return getLoginUser(token);
|
||||
|
|
@ -139,8 +141,8 @@ public class CustTokenService {
|
|||
*
|
||||
* @return 用户信息
|
||||
*/
|
||||
public CustInfoAppIdLoginVO getLoginUser(String token) {
|
||||
CustInfoAppIdLoginVO user = null;
|
||||
public LoginUser getLoginUser(String token) {
|
||||
LoginUser user = null;
|
||||
try {
|
||||
if (StringUtils.isNotEmpty(token)) {
|
||||
String userkey = JwtUtils.getUserKey(token);
|
||||
|
|
@ -156,7 +158,7 @@ public class CustTokenService {
|
|||
/**
|
||||
* 设置用户身份信息
|
||||
*/
|
||||
public void setLoginUser(CustInfoAppIdLoginVO loginUser) {
|
||||
public void setLoginUser(LoginUser loginUser) {
|
||||
if (StringUtils.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken())) {
|
||||
refreshToken(loginUser);
|
||||
}
|
||||
|
|
@ -177,7 +179,7 @@ public class CustTokenService {
|
|||
*
|
||||
* @param loginUser
|
||||
*/
|
||||
public void verifyToken(CustInfoAppIdLoginVO loginUser) {
|
||||
public void verifyToken(LoginUser loginUser) {
|
||||
long expireTime = loginUser.getExpireTime();
|
||||
long currentTime = System.currentTimeMillis();
|
||||
if (expireTime - currentTime <= MILLIS_MINUTE_TEN) {
|
||||
|
|
@ -190,7 +192,7 @@ public class CustTokenService {
|
|||
*
|
||||
* @param loginUser 登录信息
|
||||
*/
|
||||
public void refreshToken(CustInfoAppIdLoginVO loginUser) {
|
||||
public void refreshToken(LoginUser loginUser) {
|
||||
long tokenTime = getTokenTime();
|
||||
loginUser.setLoginTime(System.currentTimeMillis());
|
||||
loginUser.setExpireTime(loginUser.getLoginTime() + tokenTime * MILLIS_MINUTE);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.bonus.auth.mapper.AuthCustInfoMapper">
|
||||
<!--根据人员id集合获取人员信息-->
|
||||
<select id="selectLoginInfo" resultType="com.bonus.domain.CustInfoAppIdLoginVO">
|
||||
<select id="selectLoginInfo" resultType="com.bonus.system.api.model.LoginUser">
|
||||
select cust_id, cust_name, cust_num, cust_photo_url, mobile, pwd
|
||||
from cust_info
|
||||
<where>
|
||||
|
|
|
|||
Reference in New Issue