首页 > 解决方案 > 即使我成功登录,Laravel 中间件也总是重定向回登录页面

问题描述

我对Laravel 中间件有一个大问题。我使用了来自 laravel 的身份验证系统。

我意识到,如果我只是在我的 url 中输入一条路线,即使没有登录,我也会进入我页面的某些部分。所以开始使用middleware. 如果我在我的web.php文件 中输入这个

Route::get('/Benutzerverwaltung', 'Benutzerverwaltungcontroller@index')->middleware('auth');

有用。如果我现在在 url 中输入一些内容,它会重定向到正确的登录页面。

使用正确的用户数据成功登录后,它重定向到我的主页,这也是正确的。但是现在问题来了,如果我单击导航栏链接到另一个页面,即使用户成功登录并且我不明白为什么,它也会重定向回登录页面。

标签: laravelauthenticationredirectloginmiddleware

解决方案


我的登录控制器

namespace App\Http\Controllers\Auth;

use Auth;
use Illuminate\Http\Request;

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

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    public function logout(Request $request) {
      Auth::logout();
      return redirect('/login');
    }

    use AuthenticatesUsers;

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

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

推荐阅读