0

我正在使用 Slim4 框架,并且我已经实现了一个身份验证路由中间件来在页面加载之前检查用户角色。

这是我的路线配置:

$app->get('/public/page0',Page0Action::class.':get');
$app->group('',function() use ($app){
    $app->get('/authonly/page1',Page1Action::class.':get');
    $app->get('/authonly/page2',Page2Action::class.':get');
    
})->add(UserAuthMiddleware::class);

如您所见, UserAuthMiddleware 是我的路由中间件,用于阻止未经过身份验证的用户。

我的目标是定义许多用户角色,那么单个中间件是不够的。

我可以将参数之类的东西传递给 add(routemiddleware) 方法吗?

我试图用中间件构造函数中的参数切换到显式的“新”语法:

->add(new UserAuthMiddleware("myrole"));

但是所以我失去了使用学说/注释@Inject注释制作的中间件中的所有依赖注入。

4

0 回答 0