Laravel 8 控制面板授權(quán)

2021-07-26 09:44 更新

Horizon 在 /horizon 上顯示了一個控制面板。默認(rèn)情況下,你只能在 local 環(huán)境中訪問這個面板。在你的 app/Providers/HorizonServiceProvider.php 文件中,有一個 gate 方法??刂浦?strong>非本地環(huán)境中對 Horizon 的訪問。您可以根據(jù)需要修改此方法,來限制對 Horizon 的訪問:

/**
 * 注冊 Horizon 授權(quán)
 *
 * 此方法決定了誰可以在非本地環(huán)境中訪問 Horizon
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewHorizon', function ($user) {
        return in_array($user->email, [
            'taylor@laravel.com',
        ]);
    });
} 

注意:Laravel 會自動將 authenticated 用戶注入到 Gate 中。如果你的應(yīng)用通過另一種方式提供了 Horizon 的安全性,比如 IP 限制,那么你的 Horizon 用戶可能不需要 「登錄」。因此,你需要將上面的 function ($user) 更改為 function ($user = null),以強(qiáng)制 Laravel 不需要身份驗證。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號