有一个 testProcedure 的路由,放在 api route 里会自动跳转到 /home。
route 里加了两个 middleware,一个是默认的 Laravel 的 Auth (用户登录),
还有一个是自己定义的(用户角色权限的验证模块)
同样两个 middleware, 写在 web.php ( web 路由)里是可以正常运行的,
写在 api.php ( api 路由)里就会被重定向到 /home (home 页),
这个 testProcedure 路由不用 middleware 包裹(不经过 middleware ),是可以正常访问的,
所以问题可能就出在 middleware 这上面。
各位大佬知道是啥原因吗
这是路由的代码:
/routes/web.php
// 所有 route 都需要经过两步认证:用户登录认证、角色权限检测。
Route::group(['middleware' => ['auth','isRole']], function () {
Route::get('/testProcedure','AccountController@testProcedure');
});
Auth::routes();
/routes/api.php
<?php
// 所有 route 都需要经过两步认证:用户登录认证、角色权限检测。
Route::group(['middleware' => ['auth','isRole']], function () {
Route::get('/testProcedure','AccountController@testProcedure');
});
Auth::routes();
/app/Http/Controllers/AccountController.php (只是打印时间)
public function testProcedure(Request $request)
{
$date = date('Y-m-d H:i:s');
dd($date);
}
在 web 路由里定义的地址是: localhost/testProcedure
在 api 路由里定义的地址是: localhost/api/testProcedure (laravel 默认会加上 api/ 前缀)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.