2017-06-12 32 views
6

我有一個CRUD通過Route::resource('User', 'UserController')定義的資源。將策略應用於資源控制器

由於有可能生成CRUD門和策略,有沒有辦法應用這樣的門/策略,以便將相應的門/策略應用於特定的路由?

我認爲這將是一種優雅的方式,因爲我的政策會匹配我的路線。我正在尋找一種方法像applyPolicy什麼simliar:

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

,否則我將不得不爲每個策略添加到每個動作,這似乎也不是那麼優雅。

回答

5

看看authorizeResource(Model::class)方法。

一個例子是在控制器的構造函數:

public function __construct() 
{ 
    $this->authorizeResource(Task::class); 
}