我使用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);
}
}
的loggedIn:
<?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个网站重定向,然后我的身份验证凭证丢失了。
任何人都可以提供帮助吗?
答案 0 :(得分:0)
这是错字:
class GuestMiddleware =&gt;两个中间件的名称?
重命名并相应注册。
答案 1 :(得分:0)
使用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 ..*/
});
});