laravel - 如何在 Laravel 中创建额外的可验证模型
问题描述
好的,所以我知道那里有很多教程都在谈论根据自己的喜好更改身份验证,但是我找不到适合我的具体情况的教程。所以这里是:
在我的一个项目中,我一直在使用 Laravel 附带的标准身份验证系统。我有一个用户模型,每个用户都有一个电子邮件和一个密码。他们也有角色和权限,一切都按预期工作。
我也有一个客户模型。有项目,每个项目都属于一个客户。现在对应用程序有一个新要求,客户应该能够登录并查看他们的所有项目。
客户应使用用户名(不是电子邮件)和密码登录。
我的问题是:要完全做到这一点,需要采取哪些步骤。我只能在网上找到一些拼图,但不幸的是,我无法自己将这些拼凑起来。我知道它涉及创建用户提供者,但这只是其中的一部分。我如何为此连接路由/控制器,如何使用自定义用户提供程序,除了标准的“用户”身份验证之外,我如何使用 Auth 外观(我需要并排使用两者)?
如果有人知道一个全面的教程,我会很乐意阅读并为这个问题道歉 ;-) 否则我会非常感谢所有我必须考虑的事情的小清单。
PS:我不能只使用具有特殊角色或类似角色的用户模型有很多原因。我需要使用客户端模型进行身份验证。
解决方案
我找到了本教程,其中包含您要查找的内容的要点。基础可以归结为以下几点:
- 创建一个新
Authenticatable
模型 - 调整
auth.php
新的警卫和提供者 - 调整路由以考虑两种模型
我不确定Auth
立面是如何在其中发挥作用的,但它可能需要一些额外的配置。
推荐阅读
- javascript - 无法访问其他函数的会话状态数据
- mysql - node.js Mysql连接错误
- wordpress - React Native App with WordPress REST API - 不允许以该用户的身份创建帖子
- c# - 在文本框中输入值时如何显示两位小数?
- java - 没有可用于离线模式的 com.android.tools.build:aapt2:3.2.0-alpha18-4804415 缓存版本
- python - Django Rest Framework ViewSet 不按字段过滤
- java - 如何在 Theamleaf 中编写 String.Contains
- php - 如何在 PHP 中访问字符串中的值
- asp.net - vb.net DataGridview 比较
- apache-camel - 如何从 apache camel 客户端强制执行 TLSv1.2