yanyang #12
@ -7,6 +7,7 @@ package com.cnbm.admin.base;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.cnbm.admin.dto.LoginUserDTO;
|
import com.cnbm.admin.dto.LoginUserDTO;
|
||||||
|
import com.cnbm.admin.entity.LoginUser;
|
||||||
import com.cnbm.admin.enums.WhetherEnum;
|
import com.cnbm.admin.enums.WhetherEnum;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -32,18 +33,18 @@ import java.time.LocalDateTime;
|
|||||||
@Service
|
@Service
|
||||||
public class BaseSupport {
|
public class BaseSupport {
|
||||||
|
|
||||||
protected LoginUserDTO getLoginUser() {
|
protected LoginUser getLoginUser() {
|
||||||
// 后续完善拦截器再使用该方式
|
// 后续完善拦截器再使用该方式
|
||||||
// LoginUser loginUser = loginUserHolder.get();
|
// LoginUser loginUser = loginUserHolder.get();
|
||||||
// if (loginUser != null) {
|
// if (loginUser != null) {
|
||||||
// return loginUser;
|
// return loginUser;
|
||||||
// }
|
// }
|
||||||
HttpSession session = getHttpServletRequest().getSession(false);
|
HttpSession session = getHttpServletRequest().getSession(false);
|
||||||
LoginUserDTO loginUser = null;
|
LoginUser loginUser = null;
|
||||||
if (session != null) {
|
if (session != null) {
|
||||||
String loginUserJson = (String) session.getAttribute(LoginUserDTO.HTTP_HEADER_NAME);
|
String loginUserJson = (String) session.getAttribute(LoginUser.HTTP_HEADER_NAME);
|
||||||
if (StringUtils.isNotBlank(loginUserJson)) {
|
if (StringUtils.isNotBlank(loginUserJson)) {
|
||||||
loginUser = JSON.parseObject(loginUserJson, LoginUserDTO.class);
|
loginUser = JSON.parseObject(loginUserJson, LoginUser.class);
|
||||||
return loginUser;
|
return loginUser;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,11 +94,11 @@ public class BaseSupport {
|
|||||||
.enabled(WhetherEnum.YES.getValue())
|
.enabled(WhetherEnum.YES.getValue())
|
||||||
.valid(WhetherEnum.YES.getValue())
|
.valid(WhetherEnum.YES.getValue())
|
||||||
.createTime(LocalDateTime.now())
|
.createTime(LocalDateTime.now())
|
||||||
.creatorId(getLoginUser().getUserId())
|
.creatorId(getLoginUser().getSysUserEntity().getId())
|
||||||
.creatorName(getLoginUser().getUserName())
|
.creatorName(getLoginUser().getUsername())
|
||||||
.updateTime(LocalDateTime.now())
|
.updateTime(LocalDateTime.now())
|
||||||
.updaterId(getLoginUser().getUserId())
|
.updaterId(getLoginUser().getSysUserEntity().getId())
|
||||||
.updaterName(getLoginUser().getUserName())
|
.updaterName(getLoginUser().getUsername())
|
||||||
.build();
|
.build();
|
||||||
BeanUtils.copyProperties(commonField, t, ignoreProperties);
|
BeanUtils.copyProperties(commonField, t, ignoreProperties);
|
||||||
return t;
|
return t;
|
||||||
@ -117,8 +118,8 @@ public class BaseSupport {
|
|||||||
*/
|
*/
|
||||||
public <T extends Serializable> T setUpdateCommonField(T t) {
|
public <T extends Serializable> T setUpdateCommonField(T t) {
|
||||||
CommonField commonField = CommonField.builder()
|
CommonField commonField = CommonField.builder()
|
||||||
.updaterId(getLoginUser().getUserId())
|
.updaterId(getLoginUser().getSysUserEntity().getId())
|
||||||
.updaterName(getLoginUser().getUserName())
|
.updaterName(getLoginUser().getUsername())
|
||||||
.updateTime(LocalDateTime.now())
|
.updateTime(LocalDateTime.now())
|
||||||
.build();
|
.build();
|
||||||
BeanUtils.copyProperties(commonField, t, "enabled", "valid");
|
BeanUtils.copyProperties(commonField, t, "enabled", "valid");
|
||||||
|
@ -24,6 +24,8 @@ public class LoginUser implements UserDetails{
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public static final String HTTP_HEADER_NAME = "loginUser";
|
||||||
|
|
||||||
private SysUserEntity sysUserEntity;
|
private SysUserEntity sysUserEntity;
|
||||||
|
|
||||||
private List<String> permissions;
|
private List<String> permissions;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.cnbm.admin.service.impl;
|
package com.cnbm.admin.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.cnbm.admin.dto.LoginUserDTO;
|
||||||
import com.cnbm.admin.entity.LoginUser;
|
import com.cnbm.admin.entity.LoginUser;
|
||||||
import com.cnbm.admin.entity.SysLogLoginEntity;
|
import com.cnbm.admin.entity.SysLogLoginEntity;
|
||||||
import com.cnbm.admin.enums.LoginOperationEnum;
|
import com.cnbm.admin.enums.LoginOperationEnum;
|
||||||
@ -22,8 +24,11 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
|
|||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -81,6 +86,11 @@ public class LoginServiceImpl implements LoginService {
|
|||||||
map.put("token",jwt);
|
map.put("token",jwt);
|
||||||
//把完整的用户信息存入redis userid作为key
|
//把完整的用户信息存入redis userid作为key
|
||||||
redisTemplate.opsForValue().set("login:"+userid,loginUser,1, TimeUnit.DAYS);
|
redisTemplate.opsForValue().set("login:"+userid,loginUser,1, TimeUnit.DAYS);
|
||||||
|
|
||||||
|
//当前登录用户信息存入session中
|
||||||
|
HttpSession session = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession();
|
||||||
|
session.setAttribute(loginUser.HTTP_HEADER_NAME, JSON.toJSONString(loginUser));
|
||||||
|
|
||||||
//登录成功
|
//登录成功
|
||||||
log.setStatus(LoginStatusEnum.SUCCESS.value());
|
log.setStatus(LoginStatusEnum.SUCCESS.value());
|
||||||
log.setCreator(loginUser.getSysUserEntity().getId());
|
log.setCreator(loginUser.getSysUserEntity().getId());
|
||||||
|
Loading…
Reference in New Issue
Block a user