gpt4 book ai didi

php - 拉拉维尔 : Multi Guard in Auth Middleware

转载 作者:行者123 更新时间:2023-12-02 23:47:53 25 4
gpt4 key购买 nike

我有一个 Laravel 应用程序,使用多用户表来扮演不同的角色。

我添加了 2 个自定义守卫,如下所示:

'guards' => [
'consumer' => [
'driver' => 'session',
'provider' => 'consumer',
],
'member' => [
'driver' => 'session',
'provider' => 'member',
]
]

我想与消费者和成员(member)共享相同的路线。但我不知道 Laravel 如何将防护名称传递给 Auth 中间件。

查看文件Illuminate\Auth\Middleware\Authenticate

protected function authenticate(array $guards)
{
if (empty($guards)) {
return $this->auth->authenticate();
}

foreach ($guards as $guard) {
if ($this->auth->guard($guard)->check()) {
return $this->auth->shouldUse($guard);
}
}

throw new AuthenticationException('Unauthenticated.', $guards);
}

如果我可以将 2 个自定义守卫传递给 $guards 变量,它就可以共享自定义和用户之间的路由。但我不知道如何传递 guard 的名字

最佳答案

你可以直接用逗号传递守卫,例如:

    Route::group(['middleware' => ['auth:comsumer, member'] ], function(){
Route::get('/home', 'HomeController@index');
});

关于php - 拉拉维尔 : Multi Guard in Auth Middleware,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40670722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com