Merge remote-tracking branch 'origin/develop_master' into develop_master

This commit is contained in:
2510220824
2021-10-19 16:18:34 +08:00
10 changed files with 83 additions and 26 deletions
@@ -1,12 +1,21 @@
package com.adc.da.login.util;
import com.adc.da.att.entity.TsUser;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.IUserEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.ExpiredJwtException;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
/**
* token 工具类
@@ -25,6 +34,9 @@ public class JwtUtils {
// 秘钥
private static String secret = "HSyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9";
@Autowired
private IUserEOService userService;
/**
* 创建一个token
*
@@ -35,8 +47,8 @@ public class JwtUtils {
Date now = new Date();
Date expireDate = new Date(now.getTime() + expire);
return Jwts.builder().setHeaderParam("type", "JWT").setSubject(userId).setIssuedAt(now)
.setExpiration(expireDate).signWith(
SignatureAlgorithm.HS512, secret).compact();
.setExpiration(expireDate).signWith(
SignatureAlgorithm.HS512, secret).compact();
}
/**
@@ -55,6 +67,31 @@ public class JwtUtils {
return claims;
}
public String getUserIdByToken(){
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
String user = "";
if(attributes != null){
HttpServletRequest request = attributes.getRequest();
Claims claim = getClaimsByToken(request.getHeader("token"));
user = claim.getSubject();
}
return user;
}
public UserEO getUserByToken(){
UserEO userEO = new UserEO();
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if(attributes != null){
HttpServletRequest request = attributes.getRequest();
//添加token
Claims claim = getClaimsByToken(request.getHeader("token"));
String subject = claim.getSubject();
List<UserEO> userEOS = userService.getUser(subject);
userEO = userEOS.get(0);
}
return userEO;
}
/**
* 判断 token 是否过期
*/
@@ -17,6 +17,7 @@ import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.session.InvalidSessionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.Map;
@@ -46,6 +47,11 @@ public class UserUtils {
public static final String CACHE_AREA_LIST = "areaList";
public static final String CACHE_OFFICE_LIST = "officeList";
/**
* @see JwtUtils
*/
private static JwtUtils jwtUtils = SpringContextHolder1.getBean(JwtUtils.class);
/**
* @see IUserEOService
*/
@@ -78,11 +84,11 @@ public class UserUtils {
* 获取当前登录用户名
*/
public static String getUserName() {
// JWTRealm.Principal principal = (Principal) SecurityUtils.getSubject().getPrincipal();
// if (principal != null) {
// return principal.getLoginName();
// }
return "admin";
UserEO userEO = getUser();
if (userEO != null) {
return userEO.getAccount();
}
return null;
}
/**
@@ -90,27 +96,25 @@ public class UserUtils {
* @throws Exception
*/
public static String getUserId() {
UserEO userEO = getUser();
if (userEO != null) {
return userEO.getUsid();
}
return null;
return jwtUtils.getUserIdByToken();
}
/**
* 获取当前登录用户信息
*/
public static UserEO getUser() {
UserEO user = (UserEO) CacheUtils.getCache(CURRENT_USER);
UserEO user = jwtUtils.getUserByToken();
if (user == null) {
user = new UserEO();
String userName = getUserName();
String userId = getUserId();
if (StringUtils.isNotEmpty(userName)) {
UserEO userInDb = userService.getUserByLoginNameNotDeleted(userName);
user = ObjectUtil.clone(userInDb);
user.setPassword("");
CacheUtils.putCache(CURRENT_USER, user);
if (StringUtils.isNotEmpty(userId)) {
List<UserEO> userEOS = userService.getUser(userId);
if(!userEOS.isEmpty()){
user = ObjectUtil.clone(userEOS.get(0));
user.setPassword("");
CacheUtils.putCache(CURRENT_USER, user);
}
}
}
return user;
@@ -74,7 +74,7 @@ OCR.userId =dayuzhou1234
OCR.authCode =123456
OCR.publicKey =EC4KKA6ZDTCPAOCRBC5M
# OCR文件存储路径
OCR.ocrPath=/opt/foton-slrs/front/dist/file/a
OCR.ocrPath=/opt/foton-slrs/front/dist/file/
# OCR文件请求下载或在线预览时URL
OCR.ocrDownPath=http://62.234.136.153:8038/file/
OCR.times=20
@@ -62,8 +62,8 @@ public class TsUserController extends BaseController<TsUser> {
@ApiOperation("查询当前登录用户权限")
@GetMapping("/menu")
public ResponseMessage<List<SarMenu>> getMenu(@RequestParam("userId") String userId){
List<SarMenu> menus=tsUserService.getMenu(userId);
public ResponseMessage<List<SarMenu>> getMenu(){
List<SarMenu> menus=tsUserService.getMenu();
return Result.success(menus);
}
@@ -48,7 +48,7 @@ public interface ITsUserService extends IService<TsUser> {
* 查询当前登录的用户权限
* @return List<SarMenu>
*/
List<SarMenu> getMenu(String userId);
List<SarMenu> getMenu();
List<TsResource> getResource(TsResource tsResource);
@@ -149,9 +149,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
* @return List<SarMenu>
*/
@Override
public List<SarMenu> getMenu(String userId) {
/* UserEO userEO=UserUtils.getUser();
String userId= userEO.getUsid();*/
public List<SarMenu> getMenu() {
UserEO userEO=UserUtils.getUser();
String userId= userEO.getUsid();
List<String> positionIds=tsUserDao.selectPositionIds(userId);
/**
* 当用户没有所属岗位,默认给一个other岗位,适用于特定权限外的其他用户
@@ -106,6 +106,8 @@ public interface UserEODao extends BaseMapper<UserEO> {
*/
UserEO selectOrgByPrimaryKey(String usid);
List<UserEO> getUser(String usid);
Integer selectOrgCountByPrimaryKey(String usid);
UserEO selectRoleMessageByPrimaryKey(String usid);
@@ -71,6 +71,8 @@ public interface IUserEOService extends IService<UserEO> {
public UserEO getOrgIdByUserId(String userId);
public List<UserEO> getUser(String userId);
public UserEO getUserByLoginNameNotDeleted(String userName);
@@ -428,6 +428,11 @@ public class UserEOServiceImpl extends ServiceImpl<UserEODao, UserEO> implements
return this.baseMapper.get(userId);
}
@Transactional(readOnly = true, rollbackFor = Exception.class)
public List<UserEO> getUser(String usid){
return this.baseMapper.getUser(usid);
}
/**
* @Author liwenxuan
@@ -397,6 +397,13 @@
AND usid !=#{usid}
</if>
</select>
<select id="getUser" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from TS_USER
where valid_flag=0 AND usid =#{usid}
</select>
<!-- 根据用户ID获取用户信息及角色、组织机构信息 -->
<select id="getUserWithRoles" resultMap="UserRoleMap" parameterType="java.lang.String">
select