Laravel Livewire 授权安全
Laravel Livewire Authorization Security
当使用全页 livewire 组件时,将授权放在路由中就足够了,还是应该在组件 class 本身也有授权?
例如我有这样一条路线:
Route::middleware(['can:business.create'])->get('create',\App\Http\Livewire\Business\Create::class)->name('business.create');
在此路由中,我们使用“can:”中间线来检查用户是否具有“business.create”权限。
我是否需要将任何 $this->authorize()
放入我的 Business livewire 组件的 function mount
中?
例如:
use AuthorizesRequests;
public function mount(){
$this->authorize('can', 'business.create');
}
对我来说这看起来是多余的和不必要的,但我不确定幕后的 livewire api 是如何工作的,如果有人可以直接点击 api 后端并跳过路由文件中间线?
我会强烈推荐在mount()
中使用它,因为 livewire 旨在用作组件,可重用组件.
这样您就不必为两个路由文件重复中间件逻辑。
当使用全页 livewire 组件时,将授权放在路由中就足够了,还是应该在组件 class 本身也有授权?
例如我有这样一条路线:
Route::middleware(['can:business.create'])->get('create',\App\Http\Livewire\Business\Create::class)->name('business.create');
在此路由中,我们使用“can:”中间线来检查用户是否具有“business.create”权限。
我是否需要将任何 $this->authorize()
放入我的 Business livewire 组件的 function mount
中?
例如:
use AuthorizesRequests;
public function mount(){
$this->authorize('can', 'business.create');
}
对我来说这看起来是多余的和不必要的,但我不确定幕后的 livewire api 是如何工作的,如果有人可以直接点击 api 后端并跳过路由文件中间线?
我会强烈推荐在mount()
中使用它,因为 livewire 旨在用作组件,可重用组件.
这样您就不必为两个路由文件重复中间件逻辑。