gpt4 book ai didi

Laravel 多重身份验证::尝试

转载 作者:行者123 更新时间:2023-12-03 09:07:49 27 4
gpt4 key购买 nike

我的 laravel v5.4 项目中有两个模型,user 和 admin。

在 config/auth.php 中,我向守卫和提供者添加了管理员,如下所示:

'guards' => [

'web' => [
'driver' => 'session',
'provider' => 'users',
],

'api' => [
'driver' => 'token',
'provider' => 'users',
],

'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
],


'providers' => [

'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],

'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
],

现在在 AdminController 类中我想使用 Auth::attempt 函数,但默认情况下它使用用户表。我可以更改 config/auth.php 中的默认值,如下所示,它可以工作,但在这种情况下,我无法对用户使用 Auth::attempt。

'defaults' => [
'guard' => 'admin',
'passwords' => 'users',
],

我想将用户设置为默认用户,但使用 Auth::attempt 函数作为管理员,方法类似于 Auth::attempt('admin',[credentials])。我如何将 Auth::attempt 用于管理模型?

最佳答案

你直接调用 guard ,如下所示:

Auth::guard('admin')->attempt($credentials);

或者使用助手:

auth()->guard('admin')->attempt($credentials);

或者,使用助手甚至更短:

auth('admin')->attempt($credentials);

关于Laravel 多重身份验证::尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585399/

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