将策略应用于资源控制器
Apply Policy to Resource Controller
我有一个 CRUD
通过 Route::resource('User', 'UserController')
定义的资源。
既然可以生成CRUD
个Gates和Policies,有没有办法应用这样一个Gate/Policy,让对应的gate/policy应用到特定的路由上?
我认为这是一种优雅的方式,因为我的政策会与我的路线相匹配。我正在寻找一种方法,例如 applyPolicy 或类似的方法:
Route::resource('User', 'UserController')->applyPolicy()
否则我就得把每个策略都加到每个动作上,这样就显得不太优雅了。
看看authorizeResource(Model::class)
方法。
控制器的构造函数中有一个示例:
public function __construct()
{
$this->authorizeResource(Task::class);
}
我有一个 CRUD
通过 Route::resource('User', 'UserController')
定义的资源。
既然可以生成CRUD
个Gates和Policies,有没有办法应用这样一个Gate/Policy,让对应的gate/policy应用到特定的路由上?
我认为这是一种优雅的方式,因为我的政策会与我的路线相匹配。我正在寻找一种方法,例如 applyPolicy 或类似的方法:
Route::resource('User', 'UserController')->applyPolicy()
否则我就得把每个策略都加到每个动作上,这样就显得不太优雅了。
看看authorizeResource(Model::class)
方法。
控制器的构造函数中有一个示例:
public function __construct()
{
$this->authorizeResource(Task::class);
}