我正在建立一个应用程序,需要多身份验证才能很好地工作。首先,使用带有电子邮件和密码的表users以员工身份登录的用户。我使用Voyager作为后端,并使用角色和权限。到现在为止还好。现在我有了另一种类型的用户:他们在ERP上注册,然后我使用存储在ERP中的CPF (类似于社会安全号码)和密码通过WS联系。然后,我获得并在一个表中记录我需要的所有数据。它工作得很好。嗯,是有效的。对于这些用户,我使用了API路由,只是不想弄乱我的web路由文件。昨天我运行了PHP artisan make:auth,然后事情就开始变得疯狂了。
现在,每次axios调用都会返回一条“未授权”的消息,原因很明显,它们没有经过身份验证。
什么会更好呢?
Refactory用户登录使用CPF而不是电子邮件,并给那些其他API家伙一个新的角色,然后像每个人一样通过web.php文件?使用多身份验证软件包?或者别的什么?求求你救命!
发布于 2019-08-06 14:46:25
对我来说,用户就是用户。如果一个应用程序有多个“类型”的用户,这似乎是一件很常见的事情,开发人员立即开始创建多个有说服力的模型,然后是守卫,然后是控制器,然后是视图,等等;然后当他们需要一个可以由多个类型的用户访问的路由时,他们会发现自己陷入了混乱。
相反,将“类型”提升到它自己的模型,并将其作为关系添加到您的User
模型中。如果用户只能属于一种类型,则将其设置为一对多关系。如果一个用户可以有多个角色,那么就让它成为一个属于多个的关系。然后,您可以使用authorization根据用户拥有的角色来确定用户是否可以访问路由。
https://stackoverflow.com/questions/57378578
复制