【发布时间】:2017-10-03 09:52:30
【问题描述】:
根据文档,我无法在 Slim 3 中为一组路由设置名称。
在身份验证中间件中,我想拆分路由以进行所需的身份验证,而不是。喜欢:
# These routes will return 302 redirect on auth false
$app->group('', function () use ($app) {
$app->get('/first', 'HomeCtrl:first')->setName('first');
$app->get('/second', 'HomeCtrl:second')->setName('second');
})->add(new \Lib\Middlewares\CheckSession());
# These routes will return 403 on auth false
$app->group('api/', function () use ($app) {
$app->get('users', 'UsersCtrl:getUsers')->setName('users');
$app->get('pages', 'PagesCtrl:getPages')->setName('pages');
})->add(new \Lib\Middlewares\CheckSession());
在第二组中,我希望 auth 中间件为 ajax 调用返回 403,而不是在第一组中重定向。
我不想像this great answer 中建议的那样管理包含所有路线名称的数组。它应该是组的名称,并根据它来决定返回什么样的响应代码。
我也不想管理两个中间件。我正在寻找一种优雅的解决方案来管理当前路由组。
【问题讨论】:
标签: php slim middleware slim-3