【发布时间】:2017-12-30 22:28:42
【问题描述】:
目前要添加身份验证,我在路由文件中使用它:
Route::middleware(['auth'])->group(function () {
});
但如果用户是管理员,我还想检查不同的路由,所以目前我这样做并有一个自定义中间件文件:
Route::middleware(['auth', 'admin'])->group(function () {
});
//
<?php
namespace App\Http\Middleware;
use Closure;
class Admin {
public function handle($request, Closure $next)
{
if ( Auth::check() && Auth::user()->isAdmin() )
{
return $next($request);
}
return redirect('dashboard');
}
}
这一切都很好,但我注意到它使用了 api 中间件:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
问题
- 如何制作像 API 一样的命名空间身份验证中间件
'auth:admin' - 设置
'auth:api'中间件的文件在哪里,我在应用文件夹的任何地方都找不到它 - 是否还有其他方法可以进行多重身份验证,例如编辑文件
config/auth.php,然后将用户分隔到两个表中,一个用于管理员,另一个用于其他用户。
【问题讨论】:
标签: php laravel authentication middleware