首页 > 解决方案 > 如何在 Laravel 中创建额外的可验证模型

问题描述

好的,所以我知道那里有很多教程都在谈论根据自己的喜好更改身份验证,但是我找不到适合我的具体情况的教程。所以这里是:

在我的一个项目中,我一直在使用 Laravel 附带的标准身份验证系统。我有一个用户模型,每个用户都有一个电子邮件和一个密码。他们也有角色和权限,一切都按预期工作。

我也有一个客户模型。有项目,每个项目都属于一个客户。现在对应用程序有一个新要求,客户应该能够登录并查看他们的所有项目。

客户应使用用户名(不是电子邮件)和密码登录

我的问题是:要完全做到这一点,需要采取哪些步骤。我只能在网上找到一些拼图,但不幸的是,我无法自己将这些拼凑起来。我知道它涉及创建用户提供者,但这只是其中的一部分。我如何为此连接路由/控制器,如何使用自定义用户提供程序,除了标准的“用户”身份验证之外,我如何使用 Auth 外观(我需要并排使用两者)?

如果有人知道一个全面的教程,我会很乐意阅读并为这个问题道歉 ;-) 否则我会非常感谢所有我必须考虑的事情的小清单。

PS:我不能只使用具有特殊角色或类似角色的用户模型有很多原因。我需要使用客户端模型进行身份验证。

标签: laravelauthentication

解决方案


我找到了本教程,其中包含您要查找的内容的要点。基础可以归结为以下几点:

  1. 创建一个新Authenticatable模型
  2. 调整auth.php新的警卫和提供者
  3. 调整路由以考虑两种模型

我不确定Auth立面是如何在其中发挥作用的,但它可能需要一些额外的配置。


推荐阅读