簡體   English   中英

Laravel Nova錯誤403頁面在Laravel Forge上

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM