refactor: 优化部分类名,更语义化

This commit is contained in:
click33 2025-04-07 11:57:19 +08:00
parent 3acc7bd7af
commit 62d70f0027
18 changed files with 114 additions and 79 deletions

View File

@ -35,7 +35,7 @@ public class SaTokenContextForThreadLocalStaff {
/**
* 基于 ThreadLocal [ Box 存储器 ]
*/
public static ThreadLocal<SaTokenContextModelBox> modelBoxThreadLocal = new InheritableThreadLocal<>();
public static ThreadLocal<SaTokenContextModelBox> modelBoxThreadLocal = new ThreadLocal<>();
/**
* 初始化当前线程的 [ Box 存储器 ]

View File

@ -126,6 +126,15 @@ public class StpUtil {
stpLogic.setTokenValue(tokenValue, loginParameter);
}
/**
* token 写入到当前请求的 Storage 存储器里
*
* @param tokenValue 要保存的 token
*/
public static void setTokenValueToStorage(String tokenValue){
stpLogic.setTokenValueToStorage(tokenValue);
}
/**
* 获取当前请求的 token
*

View File

@ -12,6 +12,7 @@
<module>sa-token-demo-alone-redis</module>
<module>sa-token-demo-alone-redis-cluster</module>
<module>sa-token-demo-apikey</module>
<module>sa-token-demo-async</module>
<module>sa-token-demo-beetl</module>
<module>sa-token-demo-bom-import</module>
<module>sa-token-demo-caffeine</module>

View File

@ -1,7 +1,7 @@
package com.pj.test;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.servlet.util.SaTokenContextUtil;
import cn.dev33.satoken.servlet.util.SaTokenContextJakartaServletUtil;
import cn.dev33.satoken.spring.SpringMVCUtil;
import cn.dev33.satoken.util.SaResult;
import org.springframework.web.bind.annotation.RequestMapping;
@ -21,7 +21,7 @@ public class TestController {
public SaResult test() {
System.out.println("------------进来了");
System.out.println(SpringMVCUtil.getRequest());
System.out.println(SaTokenContextUtil.getRequest());
System.out.println(SaTokenContextJakartaServletUtil.getRequest());
return SaResult.ok();
}

View File

@ -1,6 +1,6 @@
package com.pj.test;
import cn.dev33.satoken.servlet.util.SaTokenContextUtil;
import cn.dev33.satoken.servlet.util.SaTokenContextServletUtil;
import cn.dev33.satoken.spring.SpringMVCUtil;
import cn.dev33.satoken.util.SaResult;
import org.springframework.web.bind.annotation.RequestMapping;
@ -19,7 +19,7 @@ public class Test2Controller {
public SaResult test2() {
System.out.println(SpringMVCUtil.getRequest());
System.out.println(SaTokenContextUtil.getRequest());
System.out.println(SaTokenContextServletUtil.getRequest());
// StpUtil.login(30003);
// System.out.println(StpUtil.getSession().timeout());

View File

@ -16,7 +16,7 @@
package cn.dev33.satoken.context.dubbo.filter;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.context.dubbo.util.SaDubboContextUtil;
import cn.dev33.satoken.context.dubbo.util.SaTokenContextDubboUtil;
import cn.dev33.satoken.util.SaTokenConsts;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.Activate;
@ -34,7 +34,7 @@ public class SaTokenDubboContextFilter implements Filter {
@Override
public Result invoke(Invoker<?> invoker, Invocation invocation) {
try {
SaDubboContextUtil.setContext(RpcContext.getContext());
SaTokenContextDubboUtil.setContext(RpcContext.getContext());
return invoker.invoke(invocation);
} finally {
SaManager.getSaTokenContext().clearContext();

View File

@ -31,7 +31,7 @@ import org.apache.dubbo.rpc.RpcContext;
* @author click33
* @since 1.42.0
*/
public class SaDubboContextUtil {
public class SaTokenContextDubboUtil {
/**
* 写入当前上下文

View File

@ -16,7 +16,7 @@
package cn.dev33.satoken.context.dubbo3.filter;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.context.dubbo3.util.SaDubbo3ContextUtil;
import cn.dev33.satoken.context.dubbo3.util.SaTokenContextDubbo3Util;
import cn.dev33.satoken.util.SaTokenConsts;
import org.apache.dubbo.common.constants.CommonConstants;
import org.apache.dubbo.common.extension.Activate;
@ -34,7 +34,7 @@ public class SaTokenDubbo3ContextFilter implements Filter {
@Override
public Result invoke(Invoker<?> invoker, Invocation invocation) {
try {
SaDubbo3ContextUtil.setContext(RpcContext.getServiceContext());
SaTokenContextDubbo3Util.setContext(RpcContext.getServiceContext());
return invoker.invoke(invocation);
} finally {
SaManager.getSaTokenContext().clearContext();

View File

@ -31,7 +31,7 @@ import org.apache.dubbo.rpc.RpcContext;
* @author click33
* @since 1.42.0
*/
public class SaDubbo3ContextUtil {
public class SaTokenContextDubbo3Util {
/**
* 写入当前上下文

View File

@ -17,7 +17,7 @@ package cn.dev33.satoken.context.grpc.interceptor;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.context.grpc.constants.GrpcContextConstants;
import cn.dev33.satoken.context.grpc.util.SaGrpcContextUtil;
import cn.dev33.satoken.context.grpc.util.SaTokenContextGrpcUtil;
import cn.dev33.satoken.same.SaSameUtil;
import cn.dev33.satoken.stp.StpUtil;
import cn.dev33.satoken.util.SaFoxUtil;
@ -36,7 +36,7 @@ public class SaTokenGrpcServerInterceptor implements ServerInterceptor {
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(ServerCall<ReqT, RespT> call, Metadata headers, ServerCallHandler<ReqT, RespT> next) {
try{
// 初始化上下文
SaGrpcContextUtil.setContext();
SaTokenContextGrpcUtil.setContext();
// RPC 调用鉴权
if (SaManager.getConfig().getCheckSameToken()) {
@ -61,7 +61,7 @@ public class SaTokenGrpcServerInterceptor implements ServerInterceptor {
}, headers);
}finally {
// 清除上下文
SaGrpcContextUtil.clearContext();
SaTokenContextGrpcUtil.clearContext();
}
}
}

View File

@ -30,7 +30,7 @@ import cn.dev33.satoken.context.model.SaStorage;
* @author click33
* @since 1.42.0
*/
public class SaGrpcContextUtil {
public class SaTokenContextGrpcUtil {
/**
* 写入当前上下文

View File

@ -21,6 +21,7 @@ import cn.dev33.satoken.context.model.SaResponse;
import cn.dev33.satoken.context.model.SaStorage;
import cn.dev33.satoken.context.model.SaTokenContextModelBox;
import cn.dev33.satoken.fun.SaFunction;
import cn.dev33.satoken.fun.SaRetGenericFunction;
import cn.dev33.satoken.servlet.model.SaRequestForServlet;
import cn.dev33.satoken.servlet.model.SaResponseForServlet;
import cn.dev33.satoken.servlet.model.SaStorageForServlet;
@ -34,7 +35,7 @@ import jakarta.servlet.http.HttpServletResponse;
* @author click33
* @since 1.42.0
*/
public class SaTokenContextUtil {
public class SaTokenContextJakartaServletUtil {
/**
* 写入当前上下文
@ -48,13 +49,6 @@ public class SaTokenContextUtil {
SaManager.getSaTokenContext().setContext(req, res, stg);
}
/**
* 清除当前上下文
*/
public static void clearContext() {
SaManager.getSaTokenContext().clearContext();
}
/**
* 写入上下文对象, 并在执行函数后将其清除
* @param request /
@ -70,6 +64,31 @@ public class SaTokenContextUtil {
}
}
/**
* 写入上下文对象, 并在执行函数后将其清除
*
* @param request /
* @param response /
* @param fun /
* @return /
* @param <T> /
*/
public static <T> T setContext(HttpServletRequest request, HttpServletResponse response, SaRetGenericFunction<T> fun) {
try {
setContext(request, response);
return fun.run();
} finally {
clearContext();
}
}
/**
* 清除当前上下文
*/
public static void clearContext() {
SaManager.getSaTokenContext().clearContext();
}
/**
* 获取当前 ModelBox
* @return /

View File

@ -21,6 +21,7 @@ import cn.dev33.satoken.context.model.SaResponse;
import cn.dev33.satoken.context.model.SaStorage;
import cn.dev33.satoken.context.model.SaTokenContextModelBox;
import cn.dev33.satoken.fun.SaFunction;
import cn.dev33.satoken.fun.SaRetGenericFunction;
import cn.dev33.satoken.servlet.model.SaRequestForServlet;
import cn.dev33.satoken.servlet.model.SaResponseForServlet;
import cn.dev33.satoken.servlet.model.SaStorageForServlet;
@ -34,7 +35,7 @@ import javax.servlet.http.HttpServletResponse;
* @author click33
* @since 1.42.0
*/
public class SaTokenContextUtil {
public class SaTokenContextServletUtil {
/**
* 写入当前上下文
@ -48,13 +49,6 @@ public class SaTokenContextUtil {
SaManager.getSaTokenContext().setContext(req, res, stg);
}
/**
* 清除当前上下文
*/
public static void clearContext() {
SaManager.getSaTokenContext().clearContext();
}
/**
* 写入上下文对象, 并在执行函数后将其清除
* @param request /
@ -70,6 +64,31 @@ public class SaTokenContextUtil {
}
}
/**
* 写入上下文对象, 并在执行函数后将其清除
*
* @param request /
* @param response /
* @param fun /
* @return /
* @param <T> /
*/
public static <T> T setContext(HttpServletRequest request, HttpServletResponse response, SaRetGenericFunction<T> fun) {
try {
setContext(request, response);
return fun.run();
} finally {
clearContext();
}
}
/**
* 清除当前上下文
*/
public static void clearContext() {
SaManager.getSaTokenContext().clearContext();
}
/**
* 获取当前 ModelBox
* @return /

View File

@ -15,7 +15,7 @@
*/
package cn.dev33.satoken.solon.integration;
import cn.dev33.satoken.solon.util.SaTokenContextUtil;
import cn.dev33.satoken.solon.util.SaTokenContextSolonUtil;
import org.noear.solon.core.handle.Context;
import org.noear.solon.core.handle.Filter;
import org.noear.solon.core.handle.FilterChain;
@ -31,10 +31,10 @@ public class SaTokenContextFilterForSolon implements Filter {
@Override
public void doFilter(Context ctx, FilterChain chain) throws Throwable {
try {
SaTokenContextUtil.setContext(ctx);
SaTokenContextSolonUtil.setContext(ctx);
chain.doFilter(ctx);
} finally {
SaTokenContextUtil.clearContext();
SaTokenContextSolonUtil.clearContext();
}
}

View File

@ -21,6 +21,7 @@ import cn.dev33.satoken.context.model.SaResponse;
import cn.dev33.satoken.context.model.SaStorage;
import cn.dev33.satoken.context.model.SaTokenContextModelBox;
import cn.dev33.satoken.fun.SaFunction;
import cn.dev33.satoken.fun.SaRetGenericFunction;
import cn.dev33.satoken.solon.model.SaRequestForSolon;
import cn.dev33.satoken.solon.model.SaResponseForSolon;
import cn.dev33.satoken.solon.model.SaStorageForSolon;
@ -32,7 +33,7 @@ import org.noear.solon.core.handle.Context;
* @author click33
* @since 1.42.0
*/
public class SaTokenContextUtil {
public class SaTokenContextSolonUtil {
/**
* 写入当前上下文
@ -44,13 +45,6 @@ public class SaTokenContextUtil {
SaManager.getSaTokenContext().setContext(req, res, stg);
}
/**
* 清除当前上下文
*/
public static void clearContext() {
SaManager.getSaTokenContext().clearContext();
}
/**
* 写入上下文对象, 并在执行函数后将其清除
* @param ctx /
@ -65,6 +59,30 @@ public class SaTokenContextUtil {
}
}
/**
* 写入上下文对象, 并在执行函数后将其清除
*
* @param ctx /
* @param fun /
* @return /
* @param <T> /
*/
public static <T> T setContext(Context ctx, SaRetGenericFunction<T> fun) {
try {
setContext(ctx);
return fun.run();
} finally {
clearContext();
}
}
/**
* 清除当前上下文
*/
public static void clearContext() {
SaManager.getSaTokenContext().clearContext();
}
/**
* 获取当前 ModelBox
* @return /

View File

@ -15,7 +15,7 @@
*/
package cn.dev33.satoken.filter;
import cn.dev33.satoken.servlet.util.SaTokenContextUtil;
import cn.dev33.satoken.servlet.util.SaTokenContextServletUtil;
import cn.dev33.satoken.util.SaTokenConsts;
import org.springframework.core.annotation.Order;
@ -36,10 +36,10 @@ public class SaTokenContextFilterForServlet implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
try {
SaTokenContextUtil.setContext((HttpServletRequest) request, (HttpServletResponse) response);
SaTokenContextServletUtil.setContext((HttpServletRequest) request, (HttpServletResponse) response);
chain.doFilter(request, response);
} finally {
SaTokenContextUtil.clearContext();
SaTokenContextServletUtil.clearContext();
}
}

View File

@ -15,7 +15,7 @@
*/
package cn.dev33.satoken.filter;
import cn.dev33.satoken.servlet.util.SaTokenContextUtil;
import cn.dev33.satoken.servlet.util.SaTokenContextJakartaServletUtil;
import cn.dev33.satoken.util.SaTokenConsts;
import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;
@ -36,10 +36,10 @@ public class SaTokenContextFilterForJakartaServlet implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
try {
SaTokenContextUtil.setContext((HttpServletRequest) request, (HttpServletResponse) response);
SaTokenContextJakartaServletUtil.setContext((HttpServletRequest) request, (HttpServletResponse) response);
chain.doFilter(request, response);
} finally {
SaTokenContextUtil.clearContext();
SaTokenContextJakartaServletUtil.clearContext();
}
}

View File

@ -1,31 +0,0 @@
/*
* Copyright 2020-2099 sa-token.cc
*
* 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 cn.dev33.satoken.integrate.configure.inject;
import org.springframework.stereotype.Component;
import cn.dev33.satoken.context.second.SaTokenSecondContext;
import cn.dev33.satoken.context.second.SaTokenSecondContextCreator;
@Component
public class MySaTokenSecondContextCreator implements SaTokenSecondContextCreator {
@Override
public SaTokenSecondContext create() {
return null;
}
}