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

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

xinhuo110

問題描述

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

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

<?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 '登錄了、進來了';

}

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
{

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

}

}

這個wx是多應用的一個應用,上面這2個配置,當我用全局中間件配置測試的時候,中間件是有生效的。但是,沒有改動任何東西,如果我用注解給控制器配置中間件卻不生效了?

560 2 0
2個回答

tj224589

試試路由中間價

  • xinhuo110 2025-03-17

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

  • tj224589 2025-03-17

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

  • xinhuo110 2025-03-17

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

  • xinhuo110 2025-03-17

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

  • xinhuo110 2025-03-17

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

walkor 打賞

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

  • xinhuo110 2025-03-18

    難怪,webman-framework 1.5.18的, 中間件被攔截應該不太可能,這是一個測試項目,目前只有一個中間件

  • xinhuo110 2025-03-18

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

  • xinhuo110 2025-03-18

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

  • walkor 2025-03-18

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

  • xinhuo110 2025-03-18

    好的大佬

??