From 8526f4f4e96c7bf1149c10d4957a61ff0638f779 Mon Sep 17 00:00:00 2001 From: Github_lizhw <171332584@qq.com> Date: Sat, 9 Nov 2024 23:26:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=90=8D=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pj/{ => auth}/SaSsoServerApplication.java | 2 +- .../com/pj/{ => auth}/config/CorsConfig.java | 2 +- .../config/GlobalExceptionHandler.java | 2 +- .../{ => auth}/config/SaTokenSsoConfig.java | 10 +- .../config/satoken}/LoginSaasHelper.java | 2 +- .../config/satoken}/SaPermissionImpl.java | 3 +- .../satoken}/SaTokenExceptionHandler.java | 2 +- .../{ => auth}/controller/HomeController.java | 2 +- .../controller/SsoServerController.java | 5 +- .../pj/auth/controller/TokenController.java | 2 +- .../pj/auth/listener/UserActionListener.java | 2 +- .../com/pj/auth/service/SysLoginService.java | 2 +- .../auth/service/impl/EmailAuthStrategy.java | 2 +- .../service/impl/PasswordAuthStrategy.java | 2 +- .../pj/auth/service/impl/SmsAuthStrategy.java | 2 +- .../auth/service/impl/SocialAuthStrategy.java | 2 +- .../pj/auth/service/impl/XcxAuthStrategy.java | 2 +- .../java/com/pj/core/dao/PlusSaTokenDao.java | 172 ------------------ .../pj/service/impl/EmailAuthStrategy.java | 100 ---------- .../pj/service/impl/PasswordAuthStrategy.java | 117 ------------ 20 files changed, 23 insertions(+), 412 deletions(-) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{ => auth}/SaSsoServerApplication.java (97%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{ => auth}/config/CorsConfig.java (98%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{ => auth}/config/GlobalExceptionHandler.java (94%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{ => auth}/config/SaTokenSsoConfig.java (88%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{helper => auth/config/satoken}/LoginSaasHelper.java (99%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{core/service => auth/config/satoken}/SaPermissionImpl.java (95%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{handler => auth/config/satoken}/SaTokenExceptionHandler.java (98%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{ => auth}/controller/HomeController.java (97%) rename ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/{ => auth}/controller/SsoServerController.java (97%) delete mode 100644 ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/dao/PlusSaTokenDao.java delete mode 100644 ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/EmailAuthStrategy.java delete mode 100644 ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/PasswordAuthStrategy.java diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/SaSsoServerApplication.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/SaSsoServerApplication.java similarity index 97% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/SaSsoServerApplication.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/SaSsoServerApplication.java index 0846e7924..b4e24c6cb 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/SaSsoServerApplication.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/SaSsoServerApplication.java @@ -1,4 +1,4 @@ -package com.pj; +package com.pj.auth; import cn.dev33.satoken.sso.SaSsoManager; import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/CorsConfig.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/CorsConfig.java similarity index 98% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/CorsConfig.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/CorsConfig.java index 3595b7e1a..c3236810b 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/CorsConfig.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/CorsConfig.java @@ -1,4 +1,4 @@ -package com.pj.config; +package com.pj.auth.config; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/GlobalExceptionHandler.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/GlobalExceptionHandler.java similarity index 94% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/GlobalExceptionHandler.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/GlobalExceptionHandler.java index a80c06c68..537dbe91b 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/GlobalExceptionHandler.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/GlobalExceptionHandler.java @@ -1,4 +1,4 @@ -package com.pj.config; +package com.pj.auth.config; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/SaTokenSsoConfig.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/SaTokenSsoConfig.java similarity index 88% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/SaTokenSsoConfig.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/SaTokenSsoConfig.java index 1e8143f26..c7e2c814b 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/config/SaTokenSsoConfig.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/SaTokenSsoConfig.java @@ -1,18 +1,18 @@ -package com.pj.config; +package com.pj.auth.config; import cn.dev33.satoken.jwt.StpLogicJwtForSimple; import cn.dev33.satoken.stp.StpInterface; import cn.dev33.satoken.stp.StpLogic; -import com.pj.core.service.SaPermissionImpl; -import com.pj.handler.SaTokenExceptionHandler; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.SaPermissionImpl; +import com.pj.auth.config.satoken.SaTokenExceptionHandler; +import com.pj.auth.config.satoken.LoginSaasHelper; import org.dromara.common.log.aspect.CommonLogTenantIntercept; import org.dromara.system.api.model.LoginUser; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** - * sa-token 配置 + * sa-token 配置 转移到gateway后鉴权移到gateway * * @author Lion Li */ diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/helper/LoginSaasHelper.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/LoginSaasHelper.java similarity index 99% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/helper/LoginSaasHelper.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/LoginSaasHelper.java index 3a5f44096..d7ae5be0e 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/helper/LoginSaasHelper.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/LoginSaasHelper.java @@ -1,4 +1,4 @@ -package com.pj.helper; +package com.pj.auth.config.satoken; import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.stp.SaLoginModel; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/service/SaPermissionImpl.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/SaPermissionImpl.java similarity index 95% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/service/SaPermissionImpl.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/SaPermissionImpl.java index 3ce65fadb..ef68adaa5 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/service/SaPermissionImpl.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/SaPermissionImpl.java @@ -1,7 +1,6 @@ -package com.pj.core.service; +package com.pj.auth.config.satoken; import cn.dev33.satoken.stp.StpInterface; -import com.pj.helper.LoginSaasHelper; import org.dromara.common.core.enums.UserType; import org.dromara.system.api.model.LoginUser; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/handler/SaTokenExceptionHandler.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/SaTokenExceptionHandler.java similarity index 98% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/handler/SaTokenExceptionHandler.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/SaTokenExceptionHandler.java index cba870714..23915f9f7 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/handler/SaTokenExceptionHandler.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/config/satoken/SaTokenExceptionHandler.java @@ -1,4 +1,4 @@ -package com.pj.handler; +package com.pj.auth.config.satoken; import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotPermissionException; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/controller/HomeController.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/HomeController.java similarity index 97% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/controller/HomeController.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/HomeController.java index 2b346ce6b..b0c49dd3f 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/controller/HomeController.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/HomeController.java @@ -1,4 +1,4 @@ -package com.pj.controller; +package com.pj.auth.controller; import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.stp.StpUtil; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/controller/SsoServerController.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/SsoServerController.java similarity index 97% rename from ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/controller/SsoServerController.java rename to ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/SsoServerController.java index 4c228836b..19f897134 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/controller/SsoServerController.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/SsoServerController.java @@ -1,4 +1,4 @@ -package com.pj.controller; +package com.pj.auth.controller; import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.context.model.SaRequest; @@ -9,7 +9,7 @@ import cn.hutool.core.util.ObjectUtil; import com.pj.auth.domain.vo.LoginVo; import com.pj.auth.service.IAuthStrategy; import com.pj.auth.service.SysLoginService; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -60,6 +60,7 @@ public class SsoServerController { return SaSsoServerProcessor.instance.dister(); } +// @ApiEncrypt @PostMapping("/sso/doLogin") public Object ssoDoLoginRequest(@RequestBody String body) { LoginBody loginBody = JsonUtils.parseObject(body, LoginBody.class); diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/TokenController.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/TokenController.java index 92102c3e0..e1eaeca6b 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/TokenController.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/controller/TokenController.java @@ -11,7 +11,7 @@ import com.pj.auth.form.RegisterBody; import com.pj.auth.form.SocialLoginBody; import com.pj.auth.service.IAuthStrategy; import com.pj.auth.service.SysLoginService; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/listener/UserActionListener.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/listener/UserActionListener.java index 0d3b94791..981fa8b18 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/listener/UserActionListener.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/listener/UserActionListener.java @@ -7,7 +7,7 @@ import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.convert.Convert; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/SysLoginService.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/SysLoginService.java index 865357d92..65b887fc3 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/SysLoginService.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/SysLoginService.java @@ -10,7 +10,7 @@ import com.baomidou.lock.annotation.Lock4j; import com.pj.auth.form.RegisterBody; import com.pj.auth.properties.CaptchaProperties; import com.pj.auth.properties.UserPasswordProperties; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.model.AuthUser; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/EmailAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/EmailAuthStrategy.java index 4d0bba597..f48259f59 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/EmailAuthStrategy.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/EmailAuthStrategy.java @@ -6,7 +6,7 @@ import com.pj.auth.domain.vo.LoginVo; import com.pj.auth.form.EmailLoginBody; import com.pj.auth.service.IAuthStrategy; import com.pj.auth.service.SysLoginService; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/PasswordAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/PasswordAuthStrategy.java index fe7a692fd..50b26cfbf 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/PasswordAuthStrategy.java @@ -8,7 +8,7 @@ import com.pj.auth.form.PasswordLoginBody; import com.pj.auth.properties.CaptchaProperties; import com.pj.auth.service.IAuthStrategy; import com.pj.auth.service.SysLoginService; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SmsAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SmsAuthStrategy.java index 3c1d16971..626a9e024 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SmsAuthStrategy.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SmsAuthStrategy.java @@ -6,7 +6,7 @@ import com.pj.auth.domain.vo.LoginVo; import com.pj.auth.form.SmsLoginBody; import com.pj.auth.service.IAuthStrategy; import com.pj.auth.service.SysLoginService; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SocialAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SocialAuthStrategy.java index 20864a87f..53b8972bf 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SocialAuthStrategy.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/SocialAuthStrategy.java @@ -6,7 +6,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.http.HttpUtil; import cn.hutool.http.Method; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.model.AuthResponse; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/XcxAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/XcxAuthStrategy.java index 96fd481e1..5705a9d1e 100644 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/XcxAuthStrategy.java +++ b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/auth/service/impl/XcxAuthStrategy.java @@ -6,7 +6,7 @@ import com.pj.auth.domain.vo.LoginVo; import com.pj.auth.form.XcxLoginBody; import com.pj.auth.service.IAuthStrategy; import com.pj.auth.service.SysLoginService; -import com.pj.helper.LoginSaasHelper; +import com.pj.auth.config.satoken.LoginSaasHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/dao/PlusSaTokenDao.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/dao/PlusSaTokenDao.java deleted file mode 100644 index ab7180fda..000000000 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/core/dao/PlusSaTokenDao.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.pj.core.dao; - -import cn.dev33.satoken.dao.SaTokenDao; -import cn.dev33.satoken.util.SaFoxUtil; -import com.github.benmanes.caffeine.cache.Cache; -import com.github.benmanes.caffeine.cache.Caffeine; -import org.dromara.common.redis.utils.RedisUtils; - -import java.time.Duration; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.concurrent.TimeUnit; - -/** - * Sa-Token持久层接口(使用框架自带RedisUtils实现 协议统一) - *

- * 采用 caffeine + redis 多级缓存 优化并发查询效率 - * - * @author Lion Li - */ -public class PlusSaTokenDao implements SaTokenDao { - - private static final Cache CAFFEINE = Caffeine.newBuilder() - // 设置最后一次写入或访问后经过固定时间过期 - .expireAfterWrite(5, TimeUnit.SECONDS) - // 初始的缓存空间大小 - .initialCapacity(100) - // 缓存的最大条数 - .maximumSize(1000) - .build(); - - /** - * 获取Value,如无返空 - */ - @Override - public String get(String key) { - Object o = CAFFEINE.get(key, k -> RedisUtils.getCacheObject(key)); - return (String) o; - } - - /** - * 写入Value,并设定存活时间 (单位: 秒) - */ - @Override - public void set(String key, String value, long timeout) { - if (timeout == 0 || timeout <= NOT_VALUE_EXPIRE) { - return; - } - // 判断是否为永不过期 - if (timeout == NEVER_EXPIRE) { - RedisUtils.setCacheObject(key, value); - } else { - RedisUtils.setCacheObject(key, value, Duration.ofSeconds(timeout)); - } - CAFFEINE.invalidate(key); - } - - /** - * 修修改指定key-value键值对 (过期时间不变) - */ - @Override - public void update(String key, String value) { - if (RedisUtils.hasKey(key)) { - RedisUtils.setCacheObject(key, value, true); - CAFFEINE.invalidate(key); - } - } - - /** - * 删除Value - */ - @Override - public void delete(String key) { - RedisUtils.deleteObject(key); - } - - /** - * 获取Value的剩余存活时间 (单位: 秒) - */ - @Override - public long getTimeout(String key) { - long timeout = RedisUtils.getTimeToLive(key); - return timeout < 0 ? timeout : timeout / 1000; - } - - /** - * 修改Value的剩余存活时间 (单位: 秒) - */ - @Override - public void updateTimeout(String key, long timeout) { - RedisUtils.expire(key, Duration.ofSeconds(timeout)); - } - - - /** - * 获取Object,如无返空 - */ - @Override - public Object getObject(String key) { - Object o = CAFFEINE.get(key, k -> RedisUtils.getCacheObject(key)); - return o; - } - - /** - * 写入Object,并设定存活时间 (单位: 秒) - */ - @Override - public void setObject(String key, Object object, long timeout) { - if (timeout == 0 || timeout <= NOT_VALUE_EXPIRE) { - return; - } - // 判断是否为永不过期 - if (timeout == NEVER_EXPIRE) { - RedisUtils.setCacheObject(key, object); - } else { - RedisUtils.setCacheObject(key, object, Duration.ofSeconds(timeout)); - } - CAFFEINE.invalidate(key); - } - - /** - * 更新Object (过期时间不变) - */ - @Override - public void updateObject(String key, Object object) { - if (RedisUtils.hasKey(key)) { - RedisUtils.setCacheObject(key, object, true); - CAFFEINE.invalidate(key); - } - } - - /** - * 删除Object - */ - @Override - public void deleteObject(String key) { - RedisUtils.deleteObject(key); - } - - /** - * 获取Object的剩余存活时间 (单位: 秒) - */ - @Override - public long getObjectTimeout(String key) { - long timeout = RedisUtils.getTimeToLive(key); - return timeout < 0 ? timeout : timeout / 1000; - } - - /** - * 修改Object的剩余存活时间 (单位: 秒) - */ - @Override - public void updateObjectTimeout(String key, long timeout) { - RedisUtils.expire(key, Duration.ofSeconds(timeout)); - } - - - /** - * 搜索数据 - */ - @SuppressWarnings("unchecked") - @Override - public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { - String keyStr = prefix + "*" + keyword + "*"; - return (List) CAFFEINE.get(keyStr, k -> { - Collection keys = RedisUtils.keys(keyStr); - List list = new ArrayList<>(keys); - return SaFoxUtil.searchList(list, start, size, sortType); - }); - } -} diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/EmailAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/EmailAuthStrategy.java deleted file mode 100644 index 032195f7a..000000000 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/EmailAuthStrategy.java +++ /dev/null @@ -1,100 +0,0 @@ -//package com.pj.service.impl; -// -//import cn.dev33.satoken.stp.SaLoginModel; -//import cn.dev33.satoken.stp.StpUtil; -//import cn.hutool.json.JSONUtil; -//import lombok.RequiredArgsConstructor; -//import lombok.extern.slf4j.Slf4j; -//import org.dromara.common.core.domain.model.EmailLoginBody; -//import org.dromara.common.core.domain.model.LoginUser; -//import org.dromara.common.core.utils.ValidatorUtils; -//import org.dromara.common.tenant.helper.TenantHelper; -//import org.springframework.stereotype.Service; -// -///** -// * 邮件认证策略 -// * -// * @author Michelle.Chung -// */ -//@Slf4j -//@Service("email" + IAuthStrategy.BASE_NAME) -//@RequiredArgsConstructor -//public class EmailAuthStrategy implements IAuthStrategy { -// -// //后续改为远程的 -//// private final SysLoginService loginService; -//// private final SysUserMapper userMapper; -// -// @Override -// public LoginVo login(String body, SysClientVo client) { -// EmailLoginBody loginBody = JSONUtil.toBean(body, EmailLoginBody.class); -// ValidatorUtils.validate(loginBody); -// String tenantId = loginBody.getTenantId(); -// String email = loginBody.getEmail(); -// String emailCode = loginBody.getEmailCode(); -// LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { -//// SysUserVo user = loadUserByEmail(email); -//// loginService.checkLogin(LoginType.EMAIL, tenantId, user.getUserName(), () -> !validateEmailCode(tenantId, email, emailCode)); -// // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 -//// return loginService.buildLoginUser(user); -// return buildLoginUser(); -// }); -// loginUser.setClientKey(client.getClientKey()); -// loginUser.setDeviceType(client.getDeviceType()); -// SaLoginModel model = new SaLoginModel(); -// model.setDevice(client.getDeviceType()); -// // 自定义分配 不同用户体系 不同 token 授权时间 不设置默认走全局 yml 配置 -// // 例如: 后台用户30分钟过期 app用户1天过期 -// model.setTimeout(client.getTimeout()); -// model.setActiveTimeout(client.getActiveTimeout()); -// model.setExtra(LoginSaasHelper.CLIENT_KEY, client.getClientId()); -// // 生成token -// LoginSaasHelper.login(loginUser, model); -// -// LoginVo loginVo = new LoginVo(); -// loginVo.setAccessToken(StpUtil.getTokenValue()); -// loginVo.setExpireIn(StpUtil.getTokenTimeout()); -// loginVo.setClientId(client.getClientId()); -// return loginVo; -// } -// -// -// /** -// * 构建登录用户 -// */ -// private LoginUser buildLoginUser() { -// LoginUser loginUser = new LoginUser(); -// loginUser.setTenantId("1"); -// loginUser.setUserId(1L); -// loginUser.setDeptId(2L); -// loginUser.setUsername("测试用户登录名"); -// loginUser.setNickname("测试用户名称"); -// loginUser.setUserType("用户类型1"); -// return loginUser; -// } -// -//// /** -//// * 校验邮箱验证码 -//// */ -//// private boolean validateEmailCode(String tenantId, String email, String emailCode) { -//// String code = RedisUtils.getCacheObject(GlobalConstants.CAPTCHA_CODE_KEY + email); -//// if (StringUtils.isBlank(code)) { -//// loginService.recordLogininfor(tenantId, email, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); -//// throw new CaptchaExpireException(); -//// } -//// return code.equals(emailCode); -//// } -//// -//// private SysUserVo loadUserByEmail(String email) { -//// SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getEmail, email)); -//// if (ObjectUtil.isNull(user)) { -//// log.info("登录用户:{} 不存在.", email); -//// throw new UserException("user.not.exists", email); -//// } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { -//// log.info("登录用户:{} 已被停用.", email); -//// throw new UserException("user.blocked", email); -//// } -//// return user; -//// } -// -//} diff --git a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/PasswordAuthStrategy.java b/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/PasswordAuthStrategy.java deleted file mode 100644 index 617a06ab6..000000000 --- a/ruoyi-modules/ruoyi-sso-server/src/main/java/com/pj/service/impl/PasswordAuthStrategy.java +++ /dev/null @@ -1,117 +0,0 @@ -//package com.pj.service.impl; -// -//import cn.dev33.satoken.stp.SaLoginModel; -//import cn.dev33.satoken.stp.StpUtil; -//import cn.hutool.json.JSONUtil; -//import com.pj.model.vo.LoginVo; -//import com.pj.model.vo.SysClientVo; -//import com.pj.service.IAuthStrategy; -//import lombok.RequiredArgsConstructor; -//import lombok.extern.slf4j.Slf4j; -//import org.dromara.common.core.domain.model.LoginUser; -//import org.dromara.common.core.domain.model.PasswordLoginBody; -//import org.dromara.common.core.utils.ValidatorUtils; -//import org.dromara.common.satoken.utils.LoginSaasHelper; -//import org.dromara.common.tenant.helper.TenantHelper; -//import org.springframework.stereotype.Service; -// -///** -// * 密码认证策略 -// * -// * @author Michelle.Chung -// */ -//@Slf4j -//@Service("password" + IAuthStrategy.BASE_NAME) -//@RequiredArgsConstructor -//public class PasswordAuthStrategy implements IAuthStrategy { -// -//// private final CaptchaProperties captchaProperties; -//// private final SysLoginService loginService; -//// private final SysUserMapper userMapper; -// -// @Override -// public LoginVo login(String body, SysClientVo client) { -// PasswordLoginBody loginBody = JSONUtil.toBean(body, PasswordLoginBody.class); -// ValidatorUtils.validate(loginBody); -// String tenantId = loginBody.getTenantId(); -// String username = loginBody.getUsername(); -// String password = loginBody.getPassword(); -// String code = loginBody.getCode(); -// String uuid = loginBody.getUuid(); -// -//// boolean captchaEnabled = captchaProperties.getEnable(); -//// // 验证码开关 -//// if (captchaEnabled) { -//// validateCaptcha(tenantId, username, code, uuid); -//// } -// LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { -//// SysUserVo user = loadUserByUsername(username); -//// loginService.checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword())); -//// // 此处可根据登录用户的数据不同 自行创建 loginUser -//// return loginService.buildLoginUser(user); -// return buildLoginUser(); -// }); -// loginUser.setClientKey(client.getClientKey()); -// loginUser.setDeviceType(client.getDeviceType()); -// SaLoginModel model = new SaLoginModel(); -// model.setDevice(client.getDeviceType()); -// // 自定义分配 不同用户体系 不同 token 授权时间 不设置默认走全局 yml 配置 -// // 例如: 后台用户30分钟过期 app用户1天过期 -// model.setTimeout(client.getTimeout()); -// model.setActiveTimeout(client.getActiveTimeout()); -// model.setExtra(LoginSaasHelper.CLIENT_KEY, client.getClientId()); -// // 生成token -// LoginSaasHelper.login(loginUser, model); -// -// LoginVo loginVo = new LoginVo(); -// loginVo.setAccessToken(StpUtil.getTokenValue()); -// loginVo.setExpireIn(StpUtil.getTokenTimeout()); -// loginVo.setClientId(client.getClientId()); -// return loginVo; -// } -// -// private LoginUser buildLoginUser() { -// LoginUser loginUser = new LoginUser(); -// loginUser.setTenantId("1"); -// loginUser.setUserId(1L); -// loginUser.setDeptId(2L); -// loginUser.setUsername("测试用户登录名"); -// loginUser.setNickname("测试用户名称"); -// loginUser.setUserType("app_user"); -// return loginUser; -// } -// -// /** -// * 校验验证码 -// * -// * @param username 用户名 -// * @param code 验证码 -// * @param uuid 唯一标识 -// */ -//// private void validateCaptcha(String tenantId, String username, String code, String uuid) { -//// String verifyKey = GlobalConstants.CAPTCHA_CODE_KEY + StringUtils.blankToDefault(uuid, ""); -//// String captcha = RedisUtils.getCacheObject(verifyKey); -//// RedisUtils.deleteObject(verifyKey); -//// if (captcha == null) { -//// loginService.recordLogininfor(tenantId, username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")); -//// throw new CaptchaExpireException(); -//// } -//// if (!code.equalsIgnoreCase(captcha)) { -//// loginService.recordLogininfor(tenantId, username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")); -//// throw new CaptchaException(); -//// } -//// } -//// -//// private SysUserVo loadUserByUsername(String username) { -//// SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, username)); -//// if (ObjectUtil.isNull(user)) { -//// log.info("登录用户:{} 不存在.", username); -//// throw new UserException("user.not.exists", username); -//// } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { -//// log.info("登录用户:{} 已被停用.", username); -//// throw new UserException("user.blocked", username); -//// } -//// return user; -//// } -// -//}