Laravel 7 Auth 在托管站点上不起作用

Posted

技术标签:

【中文标题】Laravel 7 Auth 在托管站点上不起作用【英文标题】:Laravel 7 Auth not working on hosted site 【发布时间】:2020-12-23 04:54:51 【问题描述】:

所以我正在尝试将 Laravel 站点部署到 bluehost,但是在成功登录后应该重定向到“/home”并停止。相反,它会尝试重定向到“/home”,然后重定向到“/login”。使用相同数据库在 localhost 上运行的相同代码可以正常工作。其他数据库操作正常。

基本上默认的身份验证中间件似乎以某种方式损坏。

我使用 laravel 的内置 auth 进行身份验证。 这是现场直播:

登录控制器.php

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller


    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    
        $this->middleware('guest')->except('logout');
    

web.php

<?php

use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Auth;

Route::get('/', 'WelcomeController@index')->name('welcome');

Auth::routes();
// Home
Route::get('/home', 'HomeController@index')->name('home');

//Listings
Route::get('/listings/search', 'ListingController@search')->name('search-listings');

Route::get('/listings/delete/listing', 'ListingController@destroy')->name('listing-delete');

Route::resource('listings', 'ListingController');


Route::group(['prefix' => 'messages'], function () 
  Route::get('/', ['as' => 'messages', 'uses' => 'MessageController@index']);
  Route::get('create', ['as' => 'messages.create', 'uses' => 'MessageController@create']);
  Route::post('/', ['as' => 'messages.store', 'uses' => 'MessageController@store']);
  Route::get('id', ['as' => 'messages.show', 'uses' => 'MessageController@show']);
  Route::put('/', ['as' => 'messages.update', 'uses' => 'MessageController@update']);
  Route::delete('/', ['as' => 'messages.action', 'uses' => 'MessageController@action']);
);

【问题讨论】:

有效。您刚刚在 App\Http\Controllers\LoginController.php 中添加了一些内容。打开该文件并检查你返回什么 null 在现场工作?你能登录吗?我的 LoginController.php 不返回任何空值。任何进一步的解释都会很棒。我真的坚持这一点。 抱歉,我不小心离开了 dd()。再看看我上面描述的行为。谢谢@АлександрИнженер 你能输入你的loginControler 代码吗?和路由代码 已添加。 @KamleshPaul 【参考方案1】:

原来在我的 app/config 中的一个文件中的

几乎把我逼疯了。在本地主机上工作正常,但在服务器上却不行。如果您遇到此问题,请检查您的 .php 文件是否有文件开头的新行。

【讨论】:

【参考方案2】:

对我来说,删除 /bootstrap/cache 文件夹中的文件,除了 .gitignore 然后运行命令composer dumpautoload 工作

【讨论】:

以上是关于Laravel 7 Auth 在托管站点上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

URL 重写在 IIS 7 上不起作用

存储:链接在托管 cPanel 上不起作用

Auth/Session 在 Sails with Passport 中的一页上不起作用

Firebase Web Auth 在移动设备上不起作用?

Flutter firebase_auth signInWithCredential 在android上不起作用

为啥 firebase auth 在我的新三星手机上不起作用?