2017-07-19 63 views
0

我为一个API实现基于角色的ACL,并为用户,角色,页面,页面操作(查看,添加,编辑,删除)以及角色与页面操作的关联提供表格。现在,我怎样才能使用这些表格编写授权门或政策,并将其用于中间件?任何示例都是可喜的。Laravel中基于角色的ACL

我浏览了授权文档,但没有了解如何定义功能并在基于角色的场景中检查它们。

回答

1

看一看这个源代码作为例子:Spatie/Laravel-permission

也是一个例子的中间件来检查角色或权限:

can.php

public function handle($request, Closure $next, $permission) 
{  
    if(!$request->user()->can($permission)){ 
     flash()->warning(trans('alert.noAccess')); 
     return abort(403); 
    } 

    return $next($request); 
} 

作用。 php

public function handle($request, Closure $next, $role, $permission = null) 
{ 
    if (auth()->guest()) { 
     return redirect(route('auth.login')); 
    } 

    if (!$request->user()->hasRole($role)) { 
     abort(403); 
    } 

    return $next($request); 
} 
+0

这项工作将在Laravel 5.2上进行吗? –

+0

它使用laravel授权门,并在Laravel 5.1.11中添加,因此它将在5.2 – Joeri