From 70973db71f2eed49c5878d69d8b93ff04b13a8b9 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Fri, 2 Feb 2024 21:23:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=20SaToken=20?= =?UTF-8?q?=E5=8F=8A=E5=9B=BE=E5=BD=A2=E9=AA=8C=E8=AF=81=E7=A0=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/satoken/SaTokenConfiguration.java | 39 +++++++++++++++++++ .../config/satoken/SaTokenPermissionImpl.java | 16 ++------ .../webapi/common/CaptchaController.java | 6 +-- .../src/main/resources/config/application.yml | 2 - 4 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenConfiguration.java diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenConfiguration.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenConfiguration.java new file mode 100644 index 00000000..ec19d747 --- /dev/null +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenConfiguration.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.continew.admin.auth.config.satoken; + +import cn.dev33.satoken.stp.StpInterface; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Sa-Token 配置 + * + * @author Charles7c + * @since 2022/12/19 22:13 + */ +@Configuration +public class SaTokenConfiguration { + + /** + * Sa-Token 权限认证配置 + */ + @Bean + public StpInterface stpInterface() { + return new SaTokenPermissionImpl(); + } +} diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenPermissionImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenPermissionImpl.java index ca003669..7e027abf 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenPermissionImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/auth/config/satoken/SaTokenPermissionImpl.java @@ -16,35 +16,27 @@ package top.charles7c.continew.admin.auth.config.satoken; -import java.util.ArrayList; -import java.util.List; - import cn.dev33.satoken.stp.StpInterface; - import top.charles7c.continew.admin.common.model.dto.LoginUser; import top.charles7c.continew.admin.common.util.helper.LoginHelper; +import java.util.ArrayList; +import java.util.List; + /** - * Sa-Token 权限认证适配 + * Sa-Token 权限认证实现 * - * @author Lion Li(RuoYi-Vue-Plus) * @author Charles7c * @since 2023/3/1 22:28 */ public class SaTokenPermissionImpl implements StpInterface { - /** - * 获取菜单权限列表 - */ @Override public List getPermissionList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); return new ArrayList<>(loginUser.getPermissions()); } - /** - * 获取角色权限列表 - */ @Override public List getRoleList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); diff --git a/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/common/CaptchaController.java b/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/common/CaptchaController.java index 1f5167fe..3516970a 100644 --- a/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/common/CaptchaController.java +++ b/continew-admin-webapi/src/main/java/top/charles7c/continew/admin/webapi/common/CaptchaController.java @@ -47,14 +47,13 @@ import top.charles7c.continew.admin.common.constant.CacheConstants; import top.charles7c.continew.admin.common.constant.RegexConstants; import top.charles7c.continew.admin.common.model.resp.CaptchaResp; import top.charles7c.continew.starter.cache.redisson.util.RedisUtils; -import top.charles7c.continew.starter.captcha.graphic.autoconfigure.GraphicCaptchaProperties; import top.charles7c.continew.starter.core.autoconfigure.project.ProjectProperties; import top.charles7c.continew.starter.core.util.TemplateUtils; import top.charles7c.continew.starter.core.util.validate.CheckUtils; import top.charles7c.continew.starter.core.util.validate.ValidationUtils; -import top.charles7c.continew.starter.web.model.R; import top.charles7c.continew.starter.log.common.annotation.Log; import top.charles7c.continew.starter.messaging.mail.util.MailUtils; +import top.charles7c.continew.starter.web.model.R; import java.time.Duration; import java.util.LinkedHashMap; @@ -75,9 +74,9 @@ import java.util.Map; public class CaptchaController { private final CaptchaService captchaService; + private final Captcha captcha; private final ProjectProperties projectProperties; private final CaptchaProperties captchaProperties; - private final GraphicCaptchaProperties graphicCaptchaProperties; @Log(ignore = true) @Operation(summary = "获取行为验证码", description = "获取行为验证码(Base64编码)") @@ -98,7 +97,6 @@ public class CaptchaController { @Operation(summary = "获取图片验证码", description = "获取图片验证码(Base64编码,带图片格式:data:image/gif;base64)") @GetMapping("/img") public R getImageCaptcha() { - Captcha captcha = graphicCaptchaProperties.getCaptcha(); String uuid = IdUtil.fastUUID(); String captchaKey = CacheConstants.CAPTCHA_KEY_PREFIX + uuid; RedisUtils.set(captchaKey, captcha.text(), Duration.ofMinutes(captchaProperties.getExpirationInMinutes())); diff --git a/continew-admin-webapi/src/main/resources/config/application.yml b/continew-admin-webapi/src/main/resources/config/application.yml index fd7061f2..ce984e3f 100644 --- a/continew-admin-webapi/src/main/resources/config/application.yml +++ b/continew-admin-webapi/src/main/resources/config/application.yml @@ -123,8 +123,6 @@ sa-token: ## 扩展配置 extension: enabled: true - # 权限认证实现 - permission-impl: top.charles7c.continew.admin.auth.config.satoken.SaTokenPermissionImpl # 持久层配置 dao.type: REDIS