Files
chatroom/app/Providers/HorizonServiceProvider.php

40 lines
1.0 KiB
PHP

<?php
/**
* 文件功能:注册 Horizon 面板的访问授权规则。
*/
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Laravel\Horizon\HorizonApplicationServiceProvider;
/**
* 类功能:注册 Horizon 面板访问门禁。
*/
class HorizonServiceProvider extends HorizonApplicationServiceProvider
{
/**
* 引导 Horizon 服务并加载父类默认注册逻辑。
*/
public function boot(): void
{
parent::boot();
// Horizon::routeSmsNotificationsTo('15556667777');
// Horizon::routeMailNotificationsTo('example@example.com');
// Horizon::routeSlackNotificationsTo('slack-webhook-url', '#channel');
}
/**
* 注册 Horizon 面板访问门禁。
*/
protected function gate(): void
{
Gate::define('viewHorizon', function ($user = null) {
// Horizon 属于高敏运维面板,仅站长账号允许进入,避免绕过后台主权限体系。
return $user && (int) $user->id === 1;
});
}
}