diff --git a/qiaoba-apis/qiaoba-api-system/src/main/java/com/qiaoba/api/system/service/SysMenuApiService.java b/qiaoba-apis/qiaoba-api-system/src/main/java/com/qiaoba/api/system/service/SysMenuApiService.java index cd79c54..42b340e 100644 --- a/qiaoba-apis/qiaoba-api-system/src/main/java/com/qiaoba/api/system/service/SysMenuApiService.java +++ b/qiaoba-apis/qiaoba-api-system/src/main/java/com/qiaoba/api/system/service/SysMenuApiService.java @@ -2,6 +2,8 @@ package com.qiaoba.api.system.service; import com.qiaoba.api.system.entity.SysMenu; import com.qiaoba.api.system.entity.param.SysMenuParam; +import com.qiaoba.api.system.entity.vo.RouterVo; +import com.qiaoba.api.system.entity.vo.SysMenuVo; import java.util.List; @@ -54,4 +56,20 @@ public interface SysMenuApiService { */ int deleteById(String menuId); + /** + * 通过 userId 查询目录和菜单 + * + * @param userId userId + * @return list + */ + List selectByUserId(String userId); + + /** + * 菜单转路由 + * + * @param menus 菜单列表 + * @return 路由列表 + */ + List menusToRouters(List menus); + } diff --git a/qiaoba-application/src/main/java/com/qiaoba/application/QiaoBaApplication.java b/qiaoba-application/src/main/java/com/qiaoba/application/QiaoBaApplication.java index d00c533..51fee71 100644 --- a/qiaoba-application/src/main/java/com/qiaoba/application/QiaoBaApplication.java +++ b/qiaoba-application/src/main/java/com/qiaoba/application/QiaoBaApplication.java @@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; */ @EnableConfigurationProperties @EnableScheduling -@ComponentScan({"com.qiaoba.module.**", "com.qiaoba.application"}) +@ComponentScan({"com.qiaoba.module.**", "com.qiaoba.auth.**", "com.qiaoba.application"}) @MapperScan("com.qiaoba.module.**.mapper") @SpringBootApplication public class QiaoBaApplication { diff --git a/qiaoba-auth/pom.xml b/qiaoba-auth/pom.xml index 29ea6e3..e3beebc 100644 --- a/qiaoba-auth/pom.xml +++ b/qiaoba-auth/pom.xml @@ -18,6 +18,14 @@ com.qiaoba qiaoba-api-auth + + com.qiaoba + qiaoba-api-monitor + + + com.qiaoba + qiaoba-api-system + com.qiaoba diff --git a/qiaoba-auth/src/main/java/com/qiaoba/auth/context/PermissionContextHolder.java b/qiaoba-auth/src/main/java/com/qiaoba/auth/context/PermissionContextHolder.java deleted file mode 100644 index 2ca29f9..0000000 --- a/qiaoba-auth/src/main/java/com/qiaoba/auth/context/PermissionContextHolder.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.qiaoba.auth.context; - -import cn.hutool.core.convert.Convert; -import org.springframework.web.context.request.RequestAttributes; -import org.springframework.web.context.request.RequestContextHolder; - -/** - * 权限信息 - * - * @author ruoyi - */ -public class PermissionContextHolder { - private static final String PERMISSION_CONTEXT_ATTRIBUTES = "PERMISSION_CONTEXT"; - - public static void setContext(String permission) { - RequestContextHolder.currentRequestAttributes().setAttribute(PERMISSION_CONTEXT_ATTRIBUTES, permission, - RequestAttributes.SCOPE_REQUEST); - } - - public static String getContext() { - return Convert.toStr(RequestContextHolder.currentRequestAttributes().getAttribute(PERMISSION_CONTEXT_ATTRIBUTES, - RequestAttributes.SCOPE_REQUEST)); - } -} diff --git a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/controller/SysLoginController.java b/qiaoba-auth/src/main/java/com/qiaoba/auth/controller/SysLoginController.java similarity index 81% rename from qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/controller/SysLoginController.java rename to qiaoba-auth/src/main/java/com/qiaoba/auth/controller/SysLoginController.java index dd3133b..de8e468 100644 --- a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/controller/SysLoginController.java +++ b/qiaoba-auth/src/main/java/com/qiaoba/auth/controller/SysLoginController.java @@ -1,11 +1,11 @@ -package com.qiaoba.module.system.controller; +package com.qiaoba.auth.controller; +import com.qiaoba.api.auth.utils.SecurityUtil; import com.qiaoba.api.system.entity.dto.LoginDto; import com.qiaoba.api.system.entity.vo.SysMenuVo; -import com.qiaoba.api.auth.utils.SecurityUtil; +import com.qiaoba.api.system.service.SysMenuApiService; +import com.qiaoba.auth.service.SysLoginService; import com.qiaoba.common.base.result.AjaxResult; -import com.qiaoba.module.system.service.SysLoginService; -import com.qiaoba.module.system.service.SysMenuService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -26,7 +26,7 @@ import java.util.Set; @RequiredArgsConstructor public class SysLoginController { - private final SysMenuService sysMenuService; + private final SysMenuApiService sysMenuApiService; private final SysLoginService sysLoginService; @GetMapping("/captchaImage") @@ -57,8 +57,8 @@ public class SysLoginController { @GetMapping("/getRouters") public AjaxResult getRouters() { - List sysMenuVos = sysMenuService.selectByUserId(SecurityUtil.getLoginUserId()); - return AjaxResult.success(sysMenuService.menusToRouters(sysMenuVos)); + List sysMenuVos = sysMenuApiService.selectByUserId(SecurityUtil.getLoginUserId()); + return AjaxResult.success(sysMenuApiService.menusToRouters(sysMenuVos)); } } diff --git a/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/OnlineUserFilter.java b/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/OnlineUserFilter.java index a3dc3f4..c7b9e66 100644 --- a/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/OnlineUserFilter.java +++ b/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/OnlineUserFilter.java @@ -12,6 +12,7 @@ import com.qiaoba.common.web.utils.ResponseUtil; import com.qiaoba.common.web.utils.UriUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; @@ -34,6 +35,7 @@ import java.util.Objects; @RequiredArgsConstructor @Slf4j @Order(FilterOrder.ONLINE_USER_FILTER_ORDER) +@Configuration public class OnlineUserFilter extends OncePerRequestFilter { private final AuthConfigProperties authConfigProperties; diff --git a/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/SecurityContextHolderFilter.java b/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/SecurityContextHolderFilter.java index 11d4ae6..0a5ee39 100644 --- a/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/SecurityContextHolderFilter.java +++ b/qiaoba-auth/src/main/java/com/qiaoba/auth/filters/SecurityContextHolderFilter.java @@ -7,6 +7,7 @@ import com.qiaoba.auth.properties.AuthConfigProperties; import com.qiaoba.common.base.context.BaseContext; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; @@ -30,6 +31,7 @@ import java.util.Objects; */ @RequiredArgsConstructor @Slf4j +@Configuration public class SecurityContextHolderFilter extends OncePerRequestFilter { diff --git a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysLoginService.java b/qiaoba-auth/src/main/java/com/qiaoba/auth/service/SysLoginService.java similarity index 91% rename from qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysLoginService.java rename to qiaoba-auth/src/main/java/com/qiaoba/auth/service/SysLoginService.java index 8856849..3c35300 100644 --- a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysLoginService.java +++ b/qiaoba-auth/src/main/java/com/qiaoba/auth/service/SysLoginService.java @@ -1,4 +1,4 @@ -package com.qiaoba.module.system.service; +package com.qiaoba.auth.service; import com.qiaoba.api.system.entity.dto.LoginDto; diff --git a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/impl/SysLoginServiceImpl.java b/qiaoba-auth/src/main/java/com/qiaoba/auth/service/impl/SysLoginServiceImpl.java similarity index 96% rename from qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/impl/SysLoginServiceImpl.java rename to qiaoba-auth/src/main/java/com/qiaoba/auth/service/impl/SysLoginServiceImpl.java index 1a0ecaf..add6c9a 100644 --- a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/impl/SysLoginServiceImpl.java +++ b/qiaoba-auth/src/main/java/com/qiaoba/auth/service/impl/SysLoginServiceImpl.java @@ -1,4 +1,4 @@ -package com.qiaoba.module.system.service.impl; +package com.qiaoba.auth.service.impl; import cn.hutool.captcha.CaptchaUtil; import cn.hutool.captcha.LineCaptcha; @@ -8,25 +8,25 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; +import com.qiaoba.api.auth.constants.SecurityConstant; +import com.qiaoba.api.auth.entity.OnlineUser; import com.qiaoba.api.auth.service.AuthConfigApiService; +import com.qiaoba.api.auth.service.OnlineUserService; import com.qiaoba.api.auth.service.SysUserDetailsApiService; +import com.qiaoba.api.auth.utils.SecurityUtil; +import com.qiaoba.api.auth.utils.TokenUtil; import com.qiaoba.api.monitor.entity.SysLoginLog; import com.qiaoba.api.monitor.service.SysLoginLogApiService; import com.qiaoba.api.system.entity.SysUser; import com.qiaoba.api.system.entity.dto.LoginDto; -import com.qiaoba.api.auth.constants.SecurityConstant; -import com.qiaoba.api.auth.entity.OnlineUser; -import com.qiaoba.api.auth.service.OnlineUserService; -import com.qiaoba.api.auth.utils.SecurityUtil; -import com.qiaoba.api.auth.utils.TokenUtil; +import com.qiaoba.api.system.service.SysUserApiService; +import com.qiaoba.auth.service.SysLoginService; import com.qiaoba.common.base.constants.BaseConstant; import com.qiaoba.common.base.constants.ConfigConstant; import com.qiaoba.common.base.enums.BaseEnum; import com.qiaoba.common.base.exceptions.ServiceException; import com.qiaoba.common.redis.service.RedisService; import com.qiaoba.common.web.utils.IpUtil; -import com.qiaoba.module.system.service.SysLoginService; -import com.qiaoba.module.system.service.SysUserService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -50,7 +50,7 @@ public class SysLoginServiceImpl implements SysLoginService { private final RedisService redisService; private final HttpServletRequest request; private final SysUserDetailsApiService userDetailsService; - private final SysUserService sysUserService; + private final SysUserApiService sysUserApiService; private final OnlineUserService onlineUserService; private final AuthConfigApiService authConfigApiService; private final SysLoginLogApiService sysLoginLogApiService; @@ -82,7 +82,7 @@ public class SysLoginServiceImpl implements SysLoginService { // 校验验证码 authConfigApiService.validateCaptcha(dto.getCode(), dto.getUuid()); // username查询用户信息 - SysUser sysUser = sysUserService.selectByUsername(dto.getUsername()); + SysUser sysUser = sysUserApiService.selectByUsername(dto.getUsername()); // 检查账号信息 validateUser(dto.getUsername(), sysUser); // 检验密码 diff --git a/qiaoba-auth/src/main/resources/META-INF/spring.factories b/qiaoba-auth/src/main/resources/META-INF/spring.factories deleted file mode 100644 index a7e46a2..0000000 --- a/qiaoba-auth/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,11 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.qiaoba.auth.properties.AuthConfigProperties,\ - com.qiaoba.auth.handler.AccessDeniedHandler,\ - com.qiaoba.auth.handler.LogoutHandler,\ - com.qiaoba.auth.filters.OnlineUserFilter,\ - com.qiaoba.auth.filters.SecurityContextHolderFilter,\ - com.qiaoba.auth.advice.SecurityExceptionAdvice,\ - com.qiaoba.auth.aspectj.DataScopeAspect,\ - com.qiaoba.auth.service.impl.OnlineUserServiceImpl,\ - com.qiaoba.auth.service.impl.AuthConfigServiceImpl,\ - com.qiaoba.auth.config.SpringSecurityConfig diff --git a/qiaoba-modules/qiaoba-module-system/pom.xml b/qiaoba-modules/qiaoba-module-system/pom.xml index 7b0a561..02c679f 100644 --- a/qiaoba-modules/qiaoba-module-system/pom.xml +++ b/qiaoba-modules/qiaoba-module-system/pom.xml @@ -26,10 +26,6 @@ com.qiaoba qiaoba-api-file - - com.qiaoba - qiaoba-api-monitor - com.qiaoba qiaoba-api-tenant diff --git a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysMenuService.java b/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysMenuService.java index 7e3b4ab..8d0eeab 100644 --- a/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysMenuService.java +++ b/qiaoba-modules/qiaoba-module-system/src/main/java/com/qiaoba/module/system/service/SysMenuService.java @@ -35,14 +35,6 @@ public interface SysMenuService extends SysMenuApiService { */ List selectMenuIdsByRoleId(String roleId); - /** - * 通过 userId 查询目录和菜单 - * - * @param userId userId - * @return list - */ - List selectByUserId(String userId); - /** * 查询用户拥有的权限列表 * @@ -51,11 +43,4 @@ public interface SysMenuService extends SysMenuApiService { */ Set selectPermsByUserId(String userId); - /** - * 菜单转路由 - * - * @param menus 菜单列表 - * @return 路由列表 - */ - List menusToRouters(List menus); }