【发布时间】:2017-09-19 08:56:21
【问题描述】:
这是项目要求。我有多个登录名,但有些用户无法访问几个模块。像超级管理员和分析师一样可以访问所有模块,但开发人员只能使用自己的控制器。
所以在这种情况下,我如何保护具有多个登录名的控制器。另请注意,我在数据库中有单独的登录页面和表。
例如 phonebookController 可以由超级管理员和分析师访问,但不能由开发人员访问。 所以请告诉我如何实现这个?
我用这个来表示::
if( Auth::guard('superAdmin')->check() )
{ $author =Auth::guard('superAdmin')->User()->id ; }
else if( Auth::guard('analysts')->check() )
{ $author =Auth::guard('analysts')->User()->id; }
else
{ $author =Auth::guard('supervisor')->User()->id }
我想在类的构造方法中使用这个
【问题讨论】:
-
记录对控制器的每次访问到数据库,并在每次加载控制器之前检查用户是否可以查看 throw 403...
-
你是如何分配角色的?您的用户表中是否有一个字段说明用户是否为管理员?
标签: php laravel-5.4 guard laravel-middleware