Php 重定向到新页面后缺少Laravel身份验证会话
我正在使用laravel的Auth进行登录过程,并在数据库中使用用户名和密码对我的应用程序进行身份验证。这是我的登录功能:Php 重定向到新页面后缺少Laravel身份验证会话,php,laravel,Php,Laravel,我正在使用laravel的Auth进行登录过程,并在数据库中使用用户名和密码对我的应用程序进行身份验证。这是我的登录功能: public function doLogin(Request $req) { if (Auth::attempt(['email' => $req->email, 'password' => $req['password']])) { return redirect('/'); } else { retur
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 ..*/
}
我的中间件是这样的:
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);
}
}
是打字错误吗:
类GuestMiddleware=>两个中间件的名称
重命名它并相应注册。使用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 ..*/
});
});
您是否正在使用web
中间件组?此组包含StartSession
中间件。这是处理会话所必需的。您可以通过使用php artisan route:list
,验证所有需要会话的路由都应该具有web
中间件。不,我没有,我创建了一个新的中间件来处理Auth thing@deesoomens您使用的是哪一版本的laravel??5.2@Sohel0415@WilliamsPerdana您需要使用web中间件,请看我的答案我已经在我的kernel.php文件中将GuestMiddleware注册为“guest”,将LoggedInMiddleware注册为“login”