我已经在本地环境中测试了laravel Horizon,一切都按预期运行。当我切换到生产域/Horizon时,抛出了403错误。我已经按照文档中的说明在HorizonServiceProvider中设置了门-第一步只是在没有身份验证的情况下获得访问权限。我的门现在如下所示:
{
Gate::define('viewHorizon', function ($user = null) {
return true;
});
}
有人能告诉我我错过了什么吗?
link to 403 errorlink to 401 error - Dashboard without data显示器
5条答案
按热度按时间sdnqo3pr1#
查看此GitHub评论:https://github.com/laravel/horizon/issues/563#issuecomment-480882947
您可能需要注册Horizon的服务提供商。
在
config/app.php
中:kxe2p93d2#
这个错误是因为horizon它首先进入了boot方法,所以我建议你在HorizonServiceProvider.php中编辑boot方法,以允许你这样的请求:
所以当你要转到你的生产服务器时需要传递这样的参数:
我的生产站点.com/地平线/ Jmeter 板?让我走=好
rt4zxlrg3#
您需要将以下方法添加到
App\Providers\HorizonServiceProvider
类:这个方法会覆写验证HTTP要求的父方法。
h43kikqp4#
对我来说,问题是我在
app\Providers\HorizonServiceProvider.php
中设置了:然后我忘记了我需要登录example.com/login才能被允许访问example.com/horizon。
请https://github.com/laravel/horizon/issues/563#issuecomment-500821983访问https://laravel.com/docs/8.x/horizon#dashboard-authorization
epggiuax5#
删除
authorization()
方法中的第二个参数[$request->user()]
允许执行Gatecheck()
。否则,无论define()
函数中有什么,它总是返回false