[英]Laravel Nova Error 403 Page On 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錯誤頁面,並顯示消息“ 對不起,你被禁止訪問此頁面 ”
我發現的唯一文章是“中型”上的“ 設置Laravel Nova時的常見問題 ”。
問題2 :看起來像我的問題,但不是。 我認為我的問題與許可證有關,否則,我會嘗試所有事情。
我有Nova獨有的許可證,也不必通過電子郵件發送支持來詢問他們。
我有:Laravel 5.7
和Nova: 1.3.1
我的問題是: 我應該購買專業版許可證嗎? 為什么呢? 還是有什么問題?
我相信您的問題(除非實際上不是在運行代碼)是由於您所授權的電子郵件地址周圍的'
和'
字符以及傳遞給define()
原因所致。 嘗試使用'
或"
-PHP會理解那些字符,而不是先前的字符。
Gate::define('viewNova', function ($user) {
return in_array($user->email, [
'my@license.com',
]);
});
如果要從Microsoft Word之類的文本編輯器復制/粘貼,或者從在線源復制,這是一個常見錯誤!
如果您已部署到生產環境並且尚未設置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腳手架,配置緩存也將被清除,這通常會在旅途中造成麻煩。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.