我的网站上有两种类型的授权。我想要创建一个通用中间件,它将处理对相应的中间件的请求。例如:
if ($request->headers->has('token')) {
// Execute token middleware
}
if ($request->headers->has('authorization')) {
// Execute some logics
// Call `auth:sanctum` middleware
}
我怎样才能做到这一点?
发布于 2022-08-22 12:17:00
您可以为Laravel的auth
中间件提供多个保护。中间件将按顺序遍历所提供的保护程序,并使用它可以使用的第一个安全性:
Route::middleware('auth:token,sanctum')->group(function () {
// your other routes
});
您可以使用在Laravel (config/auth.php)中设置的任何或所有警卫来完成此操作。
发布于 2022-08-22 12:19:32
您还可以在控制器中应用中间件,并将其作用于构造函数中的特定方法:
public function __construct()
{
// Middleware only applied to these methods
$this->middleware('your-middleware', [
'only' => [
'update',
'create'
]
]);
}
https://stackoverflow.com/questions/73449061
复制