我在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
我的问题是:我应该购买专业版许可证吗?,为什么?还是有什么问题?
答案 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之类的文本编辑器进行复制/粘贴,或者从在线源进行复制,这是一个常见错误!