如何进行多个身份验证:laravel 中的用户、管理员、卖家 [关闭]

Posted

技术标签:

【中文标题】如何进行多个身份验证:laravel 中的用户、管理员、卖家 [关闭]【英文标题】:How to make multiple Auth : users, admins, seller in laravel [closed] 【发布时间】:2020-07-12 01:30:20 【问题描述】:

我正在使用 laravel 创建一个大型应用程序,我想要最好的安全性。

所以我想为不同表中的用户、管理员和卖家进行多重身份验证,就像我数据库中的同名一样,我尝试使用 tuto 但 laravel 5 的 tuto(我正在使用 laravel 7) ,所以tuto过期了。

那么有人在 Laravel 6 或 7 中有过这种体验吗?如果是的话,你能给我最好的安全方式来通过 laravel 7 中的不同表进行多重身份验证吗????

【问题讨论】:

【参考方案1】:

你可以像这样使用 Laravel auth 保护:

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

见here。

【讨论】:

好的,谢谢,我正在尝试,我会在此之后给您发送消息。 这是我的回报:你没有连接 @Judikael 可能是因为您的凭据不正确【参考方案2】:

也许这个:https://***.com/a/60948272/12344897

为此,您需要创建警卫,例如:

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

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

【讨论】:

我有一个守卫指定我的模型或商家,但基本模型与验证模型不兼容,这是我的问题之一 请出示您的代码 :) 好的,我会告诉你的 我有张贴图片你想要守卫吗?【参考方案3】:

我正在使用这个:

 public function pushLoginForm(Request $request)

    if (Auth::guard('merchant')->attempt(['pseudo' => $request->pseudo, 'password' => $request->password]))
        return 'You\'r connected';
     else 
        return "you'r not connected";
    

【讨论】:

【参考方案4】:

这是我的控制器,由售票员登录和注册用户。

'merchants' => [
        'driver' => 'session',
        'provider' => 'merchants',
    ],
    'api_merchants' => [
        'driver' => 'token',
        'provider' => 'merchants',
        'hash' => false,
    ],
'merchants' => [
        'driver' => 'eloquent',
        'model' => App\Merchant::class,
    ],

这是在我的警卫之上

【讨论】:

以上是关于如何进行多个身份验证:laravel 中的用户、管理员、卖家 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 身份验证期间附加到用户创建多个复选框

如何从 Laravel 5.1 中的表而不是“用户”表中对用户进行身份验证?

Laravel 5 - 针对两个表进行身份验证

如何更改 laravel 中的用户模型以使用其他表进行身份验证而不是用户?

如何在 Laravel 5 中对多个表使用身份验证

对多个用户表进行身份验证