Laravel 8 Gate 攔截檢查

2021-06-29 16:48 更新

有時(shí),你可能希望將所有能力授予特定用戶。所以你可以在所有其他授權(quán)檢查之前使用 before 方法來(lái)定義運(yùn)行的回調(diào):

Gate::before(function ($user, $ability) {
    if ($user->isSuperAdmin()) {
        return true;
    }
});

如果 before 回調(diào)方法返回的是非 null 的結(jié)果,則結(jié)果將被視為檢查結(jié)果。

在每次授權(quán)檢查后你可以使用 after 方法定義要執(zhí)行的回調(diào)。 但是,你不能從 after 回調(diào)方法中修改授權(quán)檢查的結(jié)果:

Gate::after(function ($user, $ability, $result, $arguments) {
    if ($user->isSuperAdmin()) {
        return true;
    }
});

before 檢查類似,如果 after 回調(diào)返回非 null 結(jié)果,則結(jié)果將被視為檢查結(jié)果。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)