gpt4 book ai didi

php - 重定向到新页面后 Laravel Auth session 丢失

转载 作者:行者123 更新时间:2023-12-05 04:06:56 26 4
gpt4 key购买 nike

我正在使用 laravel 的 Auth 来执行登录过程,并使用数据库中的用户名和密码对我的应用程序进行身份验证。这是我的登录功能:

public function doLogin(Request $req) {
if (Auth::attempt(['email' => $req->email, 'password' => $req['password']])) {
return redirect('/');
} else {
return redirect('/login')->with('statusFail', 'true');
}
}

我正在这样创建我的路线:

Route::group(['middleware' => ['login']], function() {
/*All my authenticated routes here ..*/
}

Route::group(['middleware' => ['guest']], function() {
/*All my non-authenticated routes here ..*/
}

我的中间件是这样的:

客人:

<?php

namespace App\Http\Middleware;

use Closure;
use Session;
use Auth;

class GuestMiddleware
{
public function handle($request, Closure $next)
{
if (Auth::check())
return redirect('/');

return $next($request);
}
}

登录:

<?php

namespace App\Http\Middleware;

use Closure;
use Session;
use Auth;

class LoggedInMiddleware
{
public function handle($request, Closure $next)
{
if (!Auth::check())
return redirect('/login');

return $next($request);
}
}

起初,我可以使用正确的用户名和密码登录,然后在浏览了一些页面后,我的身份验证凭据丢失了,并将我重定向回登录页面。有时,只需要 1 次网站重定向,然后我的身份验证凭据就丢失了。

有人可以帮忙吗?

最佳答案

使用web中间件:

Route::group(['middleware' => 'web'], function () {
///your routes goes here
Route::group(['middleware' => ['login']], function() {
/*All my authenticated routes here ..*/
});

Route::group(['middleware' => ['guest']], function() {
/*All my non-authenticated routes here ..*/
});
});

关于php - 重定向到新页面后 Laravel Auth session 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49271727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com