diff --git a/main/manager-api/pom.xml b/main/manager-api/pom.xml
index a1c249a7..eacbdff9 100644
--- a/main/manager-api/pom.xml
+++ b/main/manager-api/pom.xml
@@ -168,10 +168,6 @@
lombok
true
-
- org.springframework.boot
- spring-boot-starter-actuator
-
diff --git a/main/manager-api/src/main/java/xiaozhi/common/aspect/DataFilterAspect.java b/main/manager-api/src/main/java/xiaozhi/common/aspect/DataFilterAspect.java
deleted file mode 100644
index db75689d..00000000
--- a/main/manager-api/src/main/java/xiaozhi/common/aspect/DataFilterAspect.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package xiaozhi.common.aspect;
-
-import cn.hutool.core.collection.CollUtil;
-import xiaozhi.common.annotation.DataFilter;
-import xiaozhi.common.constant.Constant;
-import xiaozhi.common.exception.ErrorCode;
-import xiaozhi.common.exception.RenException;
-import xiaozhi.common.interceptor.DataScope;
-import xiaozhi.common.user.UserDetail;
-import xiaozhi.modules.security.user.SecurityUser;
-import xiaozhi.modules.sys.enums.SuperAdminEnum;
-import org.apache.commons.lang3.StringUtils;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.aspectj.lang.annotation.Pointcut;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.springframework.stereotype.Component;
-
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 数据过滤,切面处理类
- * Copyright (c) 人人开源 All rights reserved.
- * Website: https://www.renren.io
- */
-@Aspect
-@Component
-public class DataFilterAspect {
-
- @Pointcut("@annotation(xiaozhi.common.annotation.DataFilter)")
- public void dataFilterCut() {
-
- }
-
- @Before("dataFilterCut()")
- public void dataFilter(JoinPoint point) {
- Object params = point.getArgs()[0];
- if (params != null && params instanceof Map) {
- UserDetail user = SecurityUser.getUser();
-
- //如果是超级管理员,则不进行数据过滤
- if (user.getSuperAdmin() == SuperAdminEnum.YES.value()) {
- return;
- }
-
- try {
- //否则进行数据过滤
- Map map = (Map) params;
- String sqlFilter = getSqlFilter(user, point);
- map.put(Constant.SQL_FILTER, new DataScope(sqlFilter));
- } catch (Exception e) {
-
- }
-
- return;
- }
-
- throw new RenException(ErrorCode.DATA_SCOPE_PARAMS_ERROR);
- }
-
- /**
- * 获取数据过滤的SQL
- */
- private String getSqlFilter(UserDetail user, JoinPoint point) throws Exception {
- MethodSignature signature = (MethodSignature) point.getSignature();
- Method method = point.getTarget().getClass().getDeclaredMethod(signature.getName(), signature.getParameterTypes());
- DataFilter dataFilter = method.getAnnotation(DataFilter.class);
-
- //获取表的别名
- String tableAlias = dataFilter.tableAlias();
- if (StringUtils.isNotBlank(tableAlias)) {
- tableAlias += ".";
- }
-
- StringBuilder sqlFilter = new StringBuilder();
- sqlFilter.append(" (");
-
- //部门ID列表
- List deptIdList = user.getDeptIdList();
- if (CollUtil.isNotEmpty(deptIdList)) {
- sqlFilter.append(tableAlias).append(dataFilter.deptId());
-
- sqlFilter.append(" in(").append(StringUtils.join(deptIdList, ",")).append(")");
- }
-
- //查询本人数据
- if (CollUtil.isNotEmpty(deptIdList)) {
- sqlFilter.append(" or ");
- }
- sqlFilter.append(tableAlias).append(dataFilter.userId()).append("=").append(user.getId());
-
- sqlFilter.append(")");
-
- return sqlFilter.toString();
- }
-}
\ No newline at end of file
diff --git a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java
index 10135cef..3738498b 100644
--- a/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java
+++ b/main/manager-api/src/main/java/xiaozhi/common/constant/Constant.java
@@ -73,10 +73,6 @@ public interface Constant {
* 排序方式
*/
String ORDER = "order";
- /**
- * token header
- */
- String TOKEN_HEADER = "token";
String AUTHORIZATION = "Authorization";
diff --git a/main/manager-api/src/main/java/xiaozhi/common/handler/FieldMetaObjectHandler.java b/main/manager-api/src/main/java/xiaozhi/common/handler/FieldMetaObjectHandler.java
index fbb75322..20371fd6 100644
--- a/main/manager-api/src/main/java/xiaozhi/common/handler/FieldMetaObjectHandler.java
+++ b/main/manager-api/src/main/java/xiaozhi/common/handler/FieldMetaObjectHandler.java
@@ -34,9 +34,6 @@ public class FieldMetaObjectHandler implements MetaObjectHandler {
//创建时间
strictInsertFill(metaObject, CREATE_DATE, Date.class, date);
- //创建者所属部门
- strictInsertFill(metaObject, DEPT_ID, Long.class, user.getDeptId());
-
//更新者
strictInsertFill(metaObject, UPDATER, Long.class, user.getId());
//更新时间
diff --git a/main/manager-api/src/main/java/xiaozhi/common/user/UserDetail.java b/main/manager-api/src/main/java/xiaozhi/common/user/UserDetail.java
index 163982de..2ad023d7 100644
--- a/main/manager-api/src/main/java/xiaozhi/common/user/UserDetail.java
+++ b/main/manager-api/src/main/java/xiaozhi/common/user/UserDetail.java
@@ -3,7 +3,6 @@ package xiaozhi.common.user;
import lombok.Data;
import java.io.Serializable;
-import java.util.List;
/**
* 登录用户信息
@@ -14,19 +13,7 @@ import java.util.List;
public class UserDetail implements Serializable {
private Long id;
private String username;
- private String realName;
- private String headUrl;
- private Integer gender;
- private String email;
- private String mobile;
- private Long deptId;
- private String password;
- private Integer status;
private Integer superAdmin;
private String token;
- /**
- * 部门数据权限
- */
- private List deptIdList;
-
+ private Integer status;
}
\ No newline at end of file
diff --git a/main/manager-api/src/main/java/xiaozhi/common/utils/HttpContextUtils.java b/main/manager-api/src/main/java/xiaozhi/common/utils/HttpContextUtils.java
index efa320a8..8d76434c 100644
--- a/main/manager-api/src/main/java/xiaozhi/common/utils/HttpContextUtils.java
+++ b/main/manager-api/src/main/java/xiaozhi/common/utils/HttpContextUtils.java
@@ -1,6 +1,5 @@
package xiaozhi.common.utils;
-import xiaozhi.common.constant.Constant;
import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpHeaders;
@@ -32,17 +31,6 @@ public class HttpContextUtils {
return ((ServletRequestAttributes) requestAttributes).getRequest();
}
- public static String getToken() {
- HttpServletRequest httpRequest = getHttpServletRequest();
- String token = httpRequest.getHeader(Constant.TOKEN_HEADER);
-
- //如果header中不存在token,则从参数中获取token
- if (StringUtils.isBlank(token)) {
- token = httpRequest.getParameter(Constant.TOKEN_HEADER);
- }
- return token;
- }
-
public static String getToken(String authorization) {
String token;
if (StringUtils.isBlank(authorization) && authorization.contains("Bearer ")) {
@@ -54,6 +42,7 @@ public class HttpContextUtils {
}
return token;
}
+
public static Map getParameterMap(HttpServletRequest request) {
Enumeration parameters = request.getParameterNames();
diff --git a/main/manager-api/src/main/java/xiaozhi/common/utils/Result.java b/main/manager-api/src/main/java/xiaozhi/common/utils/Result.java
index 89999420..65841b7d 100644
--- a/main/manager-api/src/main/java/xiaozhi/common/utils/Result.java
+++ b/main/manager-api/src/main/java/xiaozhi/common/utils/Result.java
@@ -1,16 +1,10 @@
package xiaozhi.common.utils;
-import xiaozhi.common.exception.ErrorCode;
-import xiaozhi.common.page.PageData;
-import xiaozhi.modules.security.user.SecurityUser;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
+import xiaozhi.common.exception.ErrorCode;
import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
* 响应数据
@@ -37,19 +31,11 @@ public class Result implements Serializable {
@Schema(description = "响应数据")
private T data;
- public Result ok() {
- this.setCode(0);
- return this;
- }
-
public Result ok(T data) {
this.setData(data);
return this;
}
- public boolean success() {
- return code == 0;
- }
public Result error() {
this.code = ErrorCode.INTERNAL_SERVER_ERROR;
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java b/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java
index 35cde8aa..de25d80e 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/security/config/ShiroConfig.java
@@ -70,7 +70,9 @@ public class ShiroConfig {
filterMap.put("/v3/api-docs/**", "anon");
filterMap.put("/doc.html", "anon");
filterMap.put("/favicon.ico", "anon");
- filterMap.put("/user/**", "anon");
+ filterMap.put("/user/captcha", "anon");
+ filterMap.put("/user/login", "anon");
+ filterMap.put("/user/register", "anon");
filterMap.put("/**", "oauth2");
shiroFilter.setFilterChainDefinitionMap(filterMap);
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java b/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java
index 130ef27f..6ab9d1b9 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java
@@ -10,13 +10,14 @@ import org.springframework.web.bind.annotation.*;
import xiaozhi.common.exception.ErrorCode;
import xiaozhi.common.exception.RenException;
import xiaozhi.common.page.TokenDTO;
-import xiaozhi.common.utils.HttpContextUtils;
+import xiaozhi.common.user.UserDetail;
import xiaozhi.common.utils.Result;
import xiaozhi.common.validator.AssertUtils;
import xiaozhi.modules.security.dto.LoginDTO;
import xiaozhi.modules.security.password.PasswordUtils;
import xiaozhi.modules.security.service.CaptchaService;
import xiaozhi.modules.security.service.SysUserTokenService;
+import xiaozhi.modules.security.user.SecurityUser;
import xiaozhi.modules.sys.dto.PasswordDTO;
import xiaozhi.modules.sys.dto.SysUserDTO;
import xiaozhi.modules.sys.service.SysUserService;
@@ -35,7 +36,6 @@ public class LoginController {
private final SysUserTokenService sysUserTokenService;
private final CaptchaService captchaService;
- private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
@GetMapping("/captcha")
@Operation(summary = "验证码")
@@ -78,36 +78,31 @@ public class LoginController {
}
// 按照用户名获取用户
SysUserDTO userDTO = sysUserService.getByUsername(login.getUsername());
- if (userDTO != null){
+ if (userDTO != null) {
throw new RenException("此手机号码已经注册过");
}
userDTO = new SysUserDTO();
userDTO.setUsername(login.getUsername());
userDTO.setPassword(login.getPassword());
sysUserService.save(userDTO);
- return new Result();
+ return new Result<>();
}
@GetMapping("/info")
@Operation(summary = "用户信息获取")
- public Result info(@RequestHeader("Authorization")String authorization) {
- logger.info("the authorization:{}", authorization);
-
- String token = HttpContextUtils.getToken(authorization);
- SysUserDTO sysUserDTO = sysUserTokenService.getUserByToken(token);
- Result result = new Result<>();
- return result.ok(sysUserDTO);
+ public Result info() {
+ UserDetail user = SecurityUser.getUser();
+ Result result = new Result<>();
+ result.setData(user);
+ return result;
}
@PutMapping("/change-password")
@Operation(summary = "修改用户密码")
- public Result> changePassword(@RequestHeader("Authorization")String authorization,
- @RequestBody PasswordDTO passwordDTO) {
-
- String token = HttpContextUtils.getToken(authorization);
- sysUserTokenService.changePassword(token, passwordDTO);
-
- return new Result<>().ok();
+ public Result> changePassword(@RequestBody PasswordDTO passwordDTO) {
+ Long userId = SecurityUser.getUserId();
+ sysUserTokenService.changePassword(userId, passwordDTO);
+ return new Result<>();
}
}
\ No newline at end of file
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Filter.java b/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Filter.java
index 26486b7b..1520a850 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Filter.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Filter.java
@@ -11,7 +11,6 @@ import org.apache.shiro.web.filter.authc.AuthenticatingFilter;
import org.springframework.web.bind.annotation.RequestMethod;
import xiaozhi.common.constant.Constant;
import xiaozhi.common.exception.ErrorCode;
-import xiaozhi.common.exception.RenException;
import xiaozhi.common.utils.HttpContextUtils;
import xiaozhi.common.utils.JsonUtils;
import xiaozhi.common.utils.Result;
@@ -90,21 +89,10 @@ public class Oauth2Filter extends AuthenticatingFilter {
* 获取请求的token
*/
private String getRequestToken(HttpServletRequest httpRequest) {
- String token;
+ String token = null;
//从header中获取token
String authorization = httpRequest.getHeader(Constant.AUTHORIZATION);
- if (StringUtils.isBlank(authorization) && authorization.contains("Bearer ")) {
- throw new RenException(ErrorCode.UNAUTHORIZED);
- }
- token = authorization.replace("Bearer ", "");
-
- //如果header中不存在token,则从参数中获取token
- if (StringUtils.isBlank(token)) {
- authorization = httpRequest.getParameter(Constant.AUTHORIZATION);
-
- if (StringUtils.isBlank(authorization) && authorization.contains("Bearer ")) {
- throw new RenException(ErrorCode.UNAUTHORIZED);
- }
+ if (StringUtils.isNotBlank(authorization) && authorization.startsWith("Bearer ")) {
token = authorization.replace("Bearer ", "");
}
return token;
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Realm.java b/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Realm.java
index 8c297e17..b7d6c278 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Realm.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/security/oauth2/Oauth2Realm.java
@@ -14,7 +14,6 @@ import xiaozhi.common.exception.ErrorCode;
import xiaozhi.common.user.UserDetail;
import xiaozhi.common.utils.ConvertUtils;
import xiaozhi.common.utils.MessageUtils;
-import xiaozhi.modules.security.controller.LoginController;
import xiaozhi.modules.security.entity.SysUserTokenEntity;
import xiaozhi.modules.security.service.ShiroService;
import xiaozhi.modules.sys.entity.SysUserEntity;
@@ -82,8 +81,6 @@ public class Oauth2Realm extends AuthorizingRealm {
//转换成UserDetail对象
UserDetail userDetail = ConvertUtils.sourceToTarget(userEntity, UserDetail.class);
- //获取用户对应的部门数据权限
- userDetail.setDeptIdList(null);
userDetail.setToken(accessToken);
//账号锁定
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/service/SysUserTokenService.java b/main/manager-api/src/main/java/xiaozhi/modules/security/service/SysUserTokenService.java
index 6cfef3ec..c0098fe5 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/security/service/SysUserTokenService.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/security/service/SysUserTokenService.java
@@ -1,6 +1,5 @@
package xiaozhi.modules.security.service;
-import xiaozhi.common.page.PageData;
import xiaozhi.common.page.TokenDTO;
import xiaozhi.common.service.BaseService;
import xiaozhi.common.utils.Result;
@@ -8,8 +7,6 @@ import xiaozhi.modules.security.entity.SysUserTokenEntity;
import xiaozhi.modules.sys.dto.PasswordDTO;
import xiaozhi.modules.sys.dto.SysUserDTO;
-import java.util.Map;
-
/**
* 用户Token
* Copyright (c) 人人开源 All rights reserved.
@@ -33,6 +30,6 @@ public interface SysUserTokenService extends BaseService {
*/
void logout(Long userId);
- void changePassword(String token, PasswordDTO passwordDTO);
+ void changePassword(Long userId, PasswordDTO passwordDTO);
}
\ No newline at end of file
diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/SysUserTokenServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/SysUserTokenServiceImpl.java
index c2aaeecc..cfb07537 100644
--- a/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/SysUserTokenServiceImpl.java
+++ b/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/SysUserTokenServiceImpl.java
@@ -2,6 +2,7 @@ package xiaozhi.modules.security.service.impl;
import cn.hutool.core.date.DateUtil;
import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
import xiaozhi.common.exception.ErrorCode;
import xiaozhi.common.exception.RenException;
import xiaozhi.common.page.TokenDTO;
@@ -12,7 +13,6 @@ import xiaozhi.modules.security.dao.SysUserTokenDao;
import xiaozhi.modules.security.entity.SysUserTokenEntity;
import xiaozhi.modules.security.oauth2.TokenGenerator;
import xiaozhi.modules.security.service.SysUserTokenService;
-import org.springframework.stereotype.Service;
import xiaozhi.modules.sys.dto.PasswordDTO;
import xiaozhi.modules.sys.dto.SysUserDTO;
import xiaozhi.modules.sys.service.SysUserService;
@@ -103,21 +103,14 @@ public class SysUserTokenServiceImpl extends BaseServiceImpl