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