我阅读了有关身份验证的文档,我有点迷惑。
我想创建一个按权限登录用户的特征,想法是在属于应用程序任何部分的任何控制器上创建方法(管理员,普通用户,客户服务),并从该方法发送权限特权登录方法的许可。
我遇到的问题是:如何通过权限对用户进行身份验证?假设我有权限表,并且该表通过另一个表连接到Users表。 (很多很多)。
这是否意味着我应该为应用程序的任何部分创建一个Guard?
还有其他方法可以实现吗?
我可以查询权限,然后使用Auth :: attempt来登录用户,但这是两个查询,我认为这有点浪费。
感谢
答案 0 :(得分:1)
如果你把它分解,那很简单。
您有不同的用户,每个用户都有一些角色,而角色有权限。 最好的部分是用户类型,每个用户类型都可以有角色。 现在,您只需要将用户检查用户类型的用户重定向到相关路径。
登录后重定向用户的最佳位置是AuthenticatesUsers
class:
protected function authenticated(Request $request, $user){
...
}