授权中间件laravel 5.6

问题描述 投票:1回答:2

我有这条路

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

并将其分配给管理员拥有此权限的授权公司,如下所示:

 user->roles->permissions->companies

而我仍然不能进入公司创建页面

php laravel laravel-5 permissions middleware
2个回答
0
投票

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

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

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;
});
© www.soinside.com 2019 - 2024. All rights reserved.