将策略应用于资源控制器

Elw*_*win 7 authorization crud laravel laravel-5

我有一个CRUD资源定义通过Route::resource('User', 'UserController').

既然可以生成CRUD门和策略,是否有办法应用这样的门/策略,以便相应的门/策略应用于特定路由?

我认为这将是一种优雅的方式,因为我的政策会匹配我的路线.我正在寻找像applyPolicysimliar这样的方法:

Route::resource('User', 'UserController')->applyPolicy()

否则我将不得不为每个动作添加每个策略,这看起来并不那么优雅.

小智 9

看看这个authorizeResource(Model::class)方法.

一个例子就是你的控制器的构造函数:

public function __construct()
{
    $this->authorizeResource(Task::class);
}
Run Code Online (Sandbox Code Playgroud)