【发布时间】:2018-01-27 22:03:32
【问题描述】:
我阅读了有关身份验证的文档,但我有点困惑。
我想创建一个通过权限登录用户的特征,想法是在属于应用程序任何部分(管理员、普通用户、客户服务)的任何控制器上创建方法,并从该方法发送权限trait login 方法的权限。
我遇到的问题是:如何通过权限认证用户?假设我有权限表,并且该表通过另一个表连接到用户表。 (多对多)。
这是否意味着我应该为应用程序的任何部分创建一个 Guard?
还有其他方法可以做到吗?
我确实可以查询权限,然后使用 Auth::attempt 来登录用户,但这是两个查询,我觉得这有点浪费。
谢谢
【问题讨论】:
-
laravel 中的认证和授权是两个不同的东西。权限与授权相关,要求用户已经登录(即使该登录发生在同一个请求期间)。
-
@apokryfos 我明白了,但是如果其中一位经理想登录控制面板,我该如何验证他的身份?我不希望他执行某个操作并被拒绝,我想在登录级别阻止他...
-
为什么需要这样做。您可以允许他们通过 Auth 中间件登录,并通过“can”中间件阻止他们。没有理由以他们无法访问网站的特定部分为由拒绝有效登录
标签: laravel authentication laravel-5