我想使用管理员守卫来授权查看 laravel 地平线,但我必须以用户和管理员身份登录。
这是我的 HorizonServiceProvider.php 代码
class HorizonServiceProvider extends HorizonApplicationServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
parent::boot();
// Horizon::routeSmsNotificationsTo('15556667777');
// Horizon::routeMailNotificationsTo('example@example.com');
// Horizon::routeSlackNotificationsTo('slack-webhook-url', '#channel');
// Horizon::night();
}
/**
* Register the Horizon gate.
*
* This gate determines who can access Horizon in non-local environments.
*
* @return void
*/
protected function gate()
{
Gate::define('viewHorizon', function () {
return \Auth::guard('admin')->check();
});
}
}
如果我以使用和管理员身份登录,它可以正常工作。但是,当我仅以管理员身份登录时,gate 的结果是:
array:4 [▼
"ability" => "viewHorizon"
"result" => null
"user" => null
"arguments" => "[0 => null]"
]
感谢帮助