登录用户缓存
This commit is contained in:
parent
f633442e3a
commit
9332e9355d
@ -0,0 +1,18 @@
|
||||
package com.czlis.common.core.domain.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 登录配置类
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class SysLoginParam {
|
||||
/**
|
||||
* 默认仪器
|
||||
*/
|
||||
private String yq;
|
||||
}
|
||||
@ -106,6 +106,15 @@ public class SysUser extends BaseEntity
|
||||
private String snid;
|
||||
private String signCert;
|
||||
private String sn_pin;
|
||||
private String loginYLJG;
|
||||
|
||||
public String getLoginYLJG() {
|
||||
return loginYLJG;
|
||||
}
|
||||
|
||||
public void setLoginYLJG(String loginYLJG) {
|
||||
this.loginYLJG = loginYLJG;
|
||||
}
|
||||
|
||||
public String getVshisuser() {
|
||||
return vshisuser;
|
||||
@ -401,6 +410,14 @@ public class SysUser extends BaseEntity
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.append("dept", getDept())
|
||||
.toString();
|
||||
.append("vshisuser",getVshisuser())
|
||||
.append("vshisuser1",getVshisuser1())
|
||||
.append("vshisuser2",getVshisuser1())
|
||||
.append("yljg",getYljg())
|
||||
.append("sn",getSn())
|
||||
.append("snid",getSnid())
|
||||
.append("signCert",getSignCert())
|
||||
.append("sn_pin",getSn_pin())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,17 @@
|
||||
package com.czlis.common.core.domain.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 用户登录对象
|
||||
*
|
||||
* @author admin
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class LoginBody {
|
||||
/**
|
||||
* 用户名
|
||||
@ -26,35 +33,9 @@ public class LoginBody {
|
||||
*/
|
||||
private String uuid;
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
/**
|
||||
* 登录医疗机构
|
||||
*/
|
||||
private LoginParam loginParam;
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public void setUuid(String uuid) {
|
||||
this.uuid = uuid;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
package com.czlis.common.core.domain.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class LoginParam {
|
||||
private String loginYLJG;
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czlis.common.core.domain.model;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||
import com.czlis.common.core.domain.entity.SysUser;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
@ -71,6 +72,16 @@ public class LoginUser implements UserDetails {
|
||||
*/
|
||||
private SysUser user;
|
||||
|
||||
public SysLoginParam getSysLoginParam() {
|
||||
return sysLoginParam;
|
||||
}
|
||||
|
||||
public void setSysLoginParam(SysLoginParam sysLoginParam) {
|
||||
this.sysLoginParam = sysLoginParam;
|
||||
}
|
||||
|
||||
private SysLoginParam sysLoginParam;
|
||||
|
||||
public LoginUser() {
|
||||
}
|
||||
|
||||
@ -86,6 +97,14 @@ public class LoginUser implements UserDetails {
|
||||
this.permissions = permissions;
|
||||
}
|
||||
|
||||
public LoginUser(Long userId, Long deptId, SysUser user, Set<String> permissions,SysLoginParam sysLoginParam) {
|
||||
this.userId = userId;
|
||||
this.deptId = deptId;
|
||||
this.user = user;
|
||||
this.permissions = permissions;
|
||||
this.sysLoginParam = sysLoginParam;
|
||||
}
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.czlis.interfaceCommon.utils;
|
||||
|
||||
|
||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 登录自定义配置类
|
||||
*/
|
||||
@Component
|
||||
public class LoginConfigParamUtil {
|
||||
|
||||
public SysLoginParam getLoginConfigParam() {
|
||||
SysLoginParam loginConfigParam = new SysLoginParam();
|
||||
loginConfigParam.setYq("");
|
||||
return loginConfigParam;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -50,7 +50,7 @@ public class SysLoginController {
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
// 生成令牌
|
||||
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
|
||||
loginBody.getUuid());
|
||||
loginBody.getUuid(),loginBody.getLoginParam().getLoginYLJG());
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ public class SysLoginService {
|
||||
* @param uuid 唯一标识
|
||||
* @return 结果
|
||||
*/
|
||||
public String login(String username, String password, String code, String uuid) {
|
||||
public String login(String username, String password, String code, String uuid,String loginYLJG) {
|
||||
// 验证码校验
|
||||
validateCaptcha(username, code, uuid);
|
||||
// 登录前置校验
|
||||
@ -91,6 +91,8 @@ public class SysLoginService {
|
||||
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|
||||
recordLoginInfo(loginUser.getUserId());
|
||||
// 生成token
|
||||
SysUser user = loginUser.getUser();
|
||||
user.setLoginYLJG(loginYLJG); //设置登录的医疗机构
|
||||
return tokenService.createToken(loginUser);
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.czlis.system.web.service;
|
||||
|
||||
import com.czlis.common.constant.CacheConstants;
|
||||
import com.czlis.common.constant.Constants;
|
||||
import com.czlis.common.core.domain.entity.SysUser;
|
||||
import com.czlis.common.core.domain.model.LoginUser;
|
||||
import com.czlis.common.core.redis.RedisCache;
|
||||
import com.czlis.common.utils.ServletUtils;
|
||||
@ -13,6 +14,7 @@ import eu.bitwalker.useragentutils.UserAgent;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.SignatureAlgorithm;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -30,8 +32,9 @@ import java.util.concurrent.TimeUnit;
|
||||
* @author admin
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class TokenService {
|
||||
private static final Logger log = LoggerFactory.getLogger(TokenService.class);
|
||||
//private static final Logger log = LoggerFactory.getLogger(TokenService.class);
|
||||
|
||||
// 令牌自定义标识
|
||||
@Value("${token.header}")
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
package com.czlis.system.web.service;
|
||||
|
||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||
import com.czlis.common.core.domain.entity.SysUser;
|
||||
import com.czlis.common.core.domain.model.LoginUser;
|
||||
import com.czlis.common.enums.UserStatus;
|
||||
import com.czlis.common.exception.ServiceException;
|
||||
import com.czlis.common.utils.MessageUtils;
|
||||
import com.czlis.common.utils.StringUtils;
|
||||
import com.czlis.interfaceCommon.utils.LoginConfigParamUtil;
|
||||
import com.czlis.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
@ -27,12 +29,13 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
|
||||
@Autowired
|
||||
private SysPasswordService passwordService;
|
||||
|
||||
@Autowired
|
||||
private SysPermissionService permissionService;
|
||||
@Autowired
|
||||
private LoginConfigParamUtil loginConfigParamUtil;
|
||||
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
@ -48,12 +51,15 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
throw new ServiceException(MessageUtils.message("user.blocked"));
|
||||
}
|
||||
|
||||
//登录系统,携带的用户自定义参数
|
||||
SysLoginParam sysLoginParam = loginConfigParamUtil.getLoginConfigParam();
|
||||
|
||||
passwordService.validate(user);
|
||||
|
||||
return createLoginUser(user);
|
||||
return createLoginUser(user,sysLoginParam);
|
||||
}
|
||||
|
||||
public UserDetails createLoginUser(SysUser user) {
|
||||
public UserDetails createLoginUser(SysUser user, SysLoginParam sysLoginParam) {
|
||||
return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user