国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

注解配置控制器中間件不生效

xinhuo110

問題描述

我注解給控制器設(shè)置中間件,中間件咋不生效呢
訪問getuserinfo,直接通過了(訪問未攜帶token),沒有進(jìn)入到中間件里面。

控制器文件內(nèi)容(這里用了注解給控制器設(shè)置中間件):

<?php
namespace app\wx\controller;

use support\Request;
use Tinywan\Jwt\JwtToken;

use support\annotation\Middleware;
use app\middleware\AuthCheckTest;

[Middleware(AuthCheckTest::class)]

class AppController
{

public function getuserinfo(Request $request){

    return '登錄了、進(jìn)來了';

}

public function login(Request $request){

    return '未登陸、登陸';

}

}

中間件文件內(nèi)容:

<?php
namespace app\middleware;

use ReflectionClass;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;

use Tinywan\Jwt\JwtToken;

class AuthCheckTest implements MiddlewareInterface
{
public function process(Request $request, callable $handler) : Response
{

    //驗(yàn)證token
    $token = $request->header('Authorization');
    if (!$token || !JWT::validate($token)) {
        return response('Unauthorized', 401);        
    // 驗(yàn)證token成功 或 不需要登陸,請(qǐng)求繼續(xù)向洋蔥芯穿越
    }else{    
        return $handler($request);
    }

}

}

這個(gè)wx是多應(yīng)用的一個(gè)應(yīng)用,上面這2個(gè)配置,當(dāng)我用全局中間件配置測(cè)試的時(shí)候,中間件是有生效的。但是,沒有改動(dòng)任何東西,如果我用注解給控制器配置中間件卻不生效了?

543 2 0
2個(gè)回答

tj224589

試試路由中間價(jià)

  • xinhuo110 2025-03-17

    現(xiàn)在用了應(yīng)用中間件,然后在中間件判斷路由器進(jìn)行

  • tj224589 2025-03-17

    在一個(gè)應(yīng)用中,可以用路由分組搭配指定中間件,也可以用應(yīng)用中間件,然后搭配反射排除某些不需要驗(yàn)證的方法

  • xinhuo110 2025-03-17

    我現(xiàn)在就是用的應(yīng)用中間件,然后搭配反射排除某些不需要驗(yàn)證的方法

  • xinhuo110 2025-03-17

    如果用路由分組搭配指定中間件,應(yīng)該要怎么配置呢(如果我想給wx應(yīng)用下的AppController控制器配置AuthCheck中間件)

  • xinhuo110 2025-03-17

    wenman里面的文檔,路由分組對(duì)一些參數(shù)解釋的不夠詳細(xì),試了幾次也沒成功

walkor 打賞

執(zhí)行 composer info 看下 webman-framework 版本信息,注解中間件在1.6.11版本才開始支持。
也有可能被其它中間件攔截了,沒走到你的中間件

  • xinhuo110 2025-03-18

    難怪,webman-framework 1.5.18的, 中間件被攔截應(yīng)該不太可能,這是一個(gè)測(cè)試項(xiàng)目,目前只有一個(gè)中間件

  • xinhuo110 2025-03-18

    我現(xiàn)在用的是應(yīng)用中間件,然后在中間件里面判斷是否是目標(biāo)控制器和方法 進(jìn)行處理

  • xinhuo110 2025-03-18

    如果用路由分組搭配指定中間件,應(yīng)該要怎么配置呢(例如:如果我想給wx應(yīng)用下的AppController控制器配置AuthCheck中間件)

  • walkor 2025-03-18

    路由分組不支持給某個(gè)控制器設(shè)置中間件,路由里都是基于具體的控制器設(shè)置中間件的。
    下次提問把版本都帶上,這樣能得到快速回復(fù),問題不清晰,版本不清晰的問題一般都不會(huì)被忽略掉,不回復(fù)

  • xinhuo110 2025-03-18

    好的大佬

??