This commit is contained in:
shengzhang 2021-06-03 16:28:52 +08:00
parent a761a7b13b
commit 4efb0568e5
7 changed files with 24 additions and 15 deletions

View File

@ -1,5 +1,10 @@
package cn.dev33.satoken.solon; package cn.dev33.satoken.solon;
import org.noear.solon.Solon;
import org.noear.solon.SolonApp;
import org.noear.solon.core.Aop;
import org.noear.solon.core.Plugin;
import cn.dev33.satoken.SaManager; import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.action.SaTokenAction; import cn.dev33.satoken.action.SaTokenAction;
import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.annotation.SaCheckLogin;
@ -8,24 +13,21 @@ import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.config.SaTokenConfig; import cn.dev33.satoken.config.SaTokenConfig;
import cn.dev33.satoken.dao.SaTokenDao; import cn.dev33.satoken.dao.SaTokenDao;
import cn.dev33.satoken.listener.SaTokenListener; import cn.dev33.satoken.listener.SaTokenListener;
import cn.dev33.satoken.solon.integration.SaTokenMethodInterceptor;
import cn.dev33.satoken.solon.integration.SaContextForSolon; import cn.dev33.satoken.solon.integration.SaContextForSolon;
import cn.dev33.satoken.solon.integration.SaTokenMethodInterceptor;
import cn.dev33.satoken.stp.StpInterface; import cn.dev33.satoken.stp.StpInterface;
import org.noear.solon.Solon;
import org.noear.solon.SolonApp;
import org.noear.solon.core.Aop;
import org.noear.solon.core.Plugin;
/** /**
* @author noear * @author noear
* @since 1.4 * @since 1.4
*/ */
public class XPluginImp implements Plugin { public class SolonPluginImpl implements Plugin {
@Override
@Override
public void start(SolonApp app) { public void start(SolonApp app) {
Aop.context().beanAroundAdd(SaCheckPermission.class, SaTokenMethodInterceptor.instance); Aop.context().beanAroundAdd(SaCheckPermission.class, SaTokenMethodInterceptor.INSTANCE);
Aop.context().beanAroundAdd(SaCheckRole.class, SaTokenMethodInterceptor.instance); Aop.context().beanAroundAdd(SaCheckRole.class, SaTokenMethodInterceptor.INSTANCE);
Aop.context().beanAroundAdd(SaCheckLogin.class, SaTokenMethodInterceptor.instance); Aop.context().beanAroundAdd(SaCheckLogin.class, SaTokenMethodInterceptor.INSTANCE);
//集成初始化 //集成初始化
@ -56,5 +58,6 @@ public class XPluginImp implements Plugin {
Aop.getAsyn(SaTokenDao.class, bw->{ Aop.getAsyn(SaTokenDao.class, bw->{
SaManager.setSaTokenDao(bw.raw()); SaManager.setSaTokenDao(bw.raw());
}); });
} }
} }

View File

@ -9,7 +9,8 @@ import org.noear.solon.core.aspect.Invocation;
* @since 1.4 * @since 1.4
*/ */
public class SaTokenMethodInterceptor implements Interceptor { public class SaTokenMethodInterceptor implements Interceptor {
public static final SaTokenMethodInterceptor instance = new SaTokenMethodInterceptor();
public static final SaTokenMethodInterceptor INSTANCE = new SaTokenMethodInterceptor();
@Override @Override
public Object doIntercept(Invocation inv) throws Throwable { public Object doIntercept(Invocation inv) throws Throwable {

View File

@ -17,6 +17,7 @@ import java.util.List;
* @author noear 2021/5/30 created * @author noear 2021/5/30 created
*/ */
public class SaTokenPathFilter implements Filter { public class SaTokenPathFilter implements Filter {
// ------------------------ 设置此过滤器 拦截 & 放行 的路由 // ------------------------ 设置此过滤器 拦截 & 放行 的路由
/** /**

View File

@ -8,8 +8,10 @@ import org.noear.solon.core.handle.Context;
* @since 1.4 * @since 1.4
*/ */
public class SaRequestForSolon implements SaRequest { public class SaRequestForSolon implements SaRequest {
Context ctx;
public SaRequestForSolon(){ Context ctx;
public SaRequestForSolon(){
ctx = Context.current(); ctx = Context.current();
} }

View File

@ -9,6 +9,7 @@ import org.noear.solon.core.handle.Context;
* @since 1.4 * @since 1.4
*/ */
public class SaResponseForSolon implements SaResponse { public class SaResponseForSolon implements SaResponse {
Context ctx; Context ctx;
public SaResponseForSolon() { public SaResponseForSolon() {

View File

@ -8,7 +8,8 @@ import org.noear.solon.core.handle.Context;
* @since 1.4 * @since 1.4
*/ */
public class SaStorageForSolon implements SaStorage { public class SaStorageForSolon implements SaStorage {
Context ctx;
Context ctx;
public SaStorageForSolon() { public SaStorageForSolon() {
ctx = Context.current(); ctx = Context.current();

View File

@ -1 +1 @@
solon.plugin=cn.dev33.satoken.solon.XPluginImp solon.plugin=cn.dev33.satoken.solon.SolonPluginImpl