Laravel - 如何通过权限完成身份验证?

时间:2017-08-19 09:21:11

标签: laravel authentication laravel-5

我阅读了有关身份验证的文档,我有点迷惑。

我想创建一个按权限登录用户的特征,想法是在属于应用程序任何部分的任何控制器上创建方法(管理员,普通用户,客户服务),并从该方法发送权限特权登录方法的许可。

我遇到的问题是:如何通过权限对用户进行身份验证?假设我有权限表,并且该表通过另一个表连接到Users表。 (很多很多)。

这是否意味着我应该为应用程序的任何部分创建一个Guard?

还有其他方法可以实现吗?

我可以查询权限,然后使用Auth :: attempt来登录用户,但这是两个查询,我认为这有点浪费。

感谢

1 个答案:

答案 0 :(得分:1)

如果你把它分解,那很简单。

您有不同的用户,每个用户都有一些角色,而角色有权限。 最好的部分是用户类型,每个用户类型都可以有角色。 现在,您只需要将用户检查用户类型的用户重定向到相关路径。

登录后重定向用户的最佳位置是AuthenticatesUsers class:

protected function authenticated(Request $request, $user){
    ...
}