授权中间件laravel 5.6

时间:2018-09-17 12:46:27

标签: php laravel laravel-5 permissions middleware

我有这条路线

 Route::resource('companies','CompaniesController')->only( 'edit','create')->middleware('can:companies');

并将其分配给授权公司 如您所见,哪个管理员拥有此权限:

 user->roles->permissions->companies

而且我仍然无法进入公司创建页面

2 个答案:

答案 0 :(得分:0)

您的中间件应映射到Policy中的方法。因此,假设您已经有一个带有create方法的CompanyPolicy,则您的中间件应如下所示:

->middleware('can:create,companies');

答案 1 :(得分:0)

您可以像

一样在Gate中定义AuthServiceProvider
Gate::define('compagnie', function(User $user) {
    // write the condition which determine if the user is allow to perfrorm this action
    return $user->roles->permissions->companies;
});