Laravel Nova错误403页面在Laravel Forge上

时间:2019-02-20 15:06:30

标签: php laravel laravel-nova laravel-forge

我在Laravel Forge上使用Laravel Nova部署了我的Laravel应用程序。 我用路径存储库安装了Nova,我也有Nova用户。 我将NovaServiceProvider Gate方法替换为:

 Gate::define(‘viewNova’, function ($user) {

     return in_array($user->email, [

         ‘my@license.com’,

     ]);

 });

当我访问“ / nova”页面时,有登录表单,但是当我尝试以现有用户身份登录时,它会在403错误页面上显示“ 对不起,您被禁止访问此页面”页面

我发现的唯一文章是在Medium上的“ Common problems when setting up Laravel Nova”。

问题2 :看起来像我的问题,但不是。我认为我的问题与许可证有关,否则,我会尝试一切。

我有Nova独奏许可证,无需发电子邮件询问他们。

我有:Laravel 5.7和Nova:1.3.1

我的问题是:我应该购买专业版许可证吗?,为什么?还是有什么问题?

2 个答案:

答案 0 :(得分:1)

如果您已部署到生产环境并且尚未设置Gate Guard,通常会发生这种情况。在生产环境中,Nova可以防止自己登录。请参阅文档的此部分以了解如何清除该问题:

https://nova.laravel.com/docs/1.0/installation.html#authorizing-nova

TL; DR-添加:

protected function gate()
{
    Gate::define('viewNova', function ($user) {
        return in_array($user->email, [
            'your@emails.com',
            'login@emails.com',
        ]);
    });
}

app/Providers/NovaServiceProvider.php

此外-一些需要记住的家政用品:

php artisan nova:install
php artisan key:generate
php artisan config:cache

此后,您将在环境文件中拥有一个新密钥,并且将安装nova脚手架,配置缓存也将被清除,这通常会导致交通事故。

答案 1 :(得分:0)

我认为您的问题(除非实际上不是正在运行的代码)是由于您所授权的电子邮件地址周围的字符以及传递给{{1} }。尝试使用define()'-PHP会理解这些字符,而不是先前的字符。

"

如果您要从Microsoft Word之类的文本编辑器进行复制/粘贴,或者从在线源进行复制,这是一个常见错误!