Я разрабатываю систему 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)
не работает должным образом. Какие будут решения для этой проблемы.