Skip to content

Commit

Permalink
refactor: 优化 SaToken 及图形验证码配置
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles7c committed Feb 2, 2024
1 parent 1c1ec69 commit 70973db
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -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:https://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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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(<a href="https://gitee.com/dromara/RuoYi-Vue-Plus">RuoYi-Vue-Plus</a>)
* @author Charles7c
* @since 2023/3/1 22:28
*/
public class SaTokenPermissionImpl implements StpInterface {

/**
* 获取菜单权限列表
*/
@Override
public List<String> getPermissionList(Object loginId, String loginType) {
LoginUser loginUser = LoginHelper.getLoginUser();
return new ArrayList<>(loginUser.getPermissions());
}

/**
* 获取角色权限列表
*/
@Override
public List<String> getRoleList(Object loginId, String loginType) {
LoginUser loginUser = LoginHelper.getLoginUser();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,13 @@
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;
Expand All @@ -75,9 +74,9 @@
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编码)")
Expand All @@ -98,7 +97,6 @@ public R<Object> checkBehaviorCaptcha(@RequestBody CaptchaVO captchaReq) {
@Operation(summary = "获取图片验证码", description = "获取图片验证码(Base64编码,带图片格式:data:image/gif;base64)")
@GetMapping("/img")
public R<CaptchaResp> 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()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,6 @@ sa-token:
## 扩展配置
extension:
enabled: true
# 权限认证实现
permission-impl: top.charles7c.continew.admin.auth.config.satoken.SaTokenPermissionImpl
# 持久层配置
dao.type: REDIS

Expand Down

0 comments on commit 70973db

Please sign in to comment.