我正在开发Laravel ACL
系统。在我的ACL
中,我通过HasPermission
中间件授予了权限,在我的中间件中,它无法检查总是执行redirect()->back()
方法的任何权限。
这是我的代码示例。
class HasPermission
{
public function handle($request, Closure $next,...$permissions)
{
// $permissions = explode(',', $permissions);
//dd($permissions);
foreach($permissions as $permission){
if (Auth::user()->can($permission)) {
return $next($request);
}
}
return redirect()->back();
}
}
我的控制器。
function __construct()
{
$this->middleware('auth');
$this->middleware('HasPermission:Role-Read,Role-Delete')->only('userEdit');
$this->middleware('can:Role-Update')->only('userEdit');
}
这个。 Auth::user()->can($permission)
无法正常工作。该问题的解决方案是什么。
答案 0 :(得分:0)
尝试: Auth :: user()-> can('您要更新的字段',$ permission);