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 旨在用作组件,可重用组件.

这样您就不必为两个路由文件重复中间件逻辑