Php Laravel 5.4认证

Php Laravel 5.4认证,php,laravel,Php,Laravel,我有一些问题: 首先,这是我的代码: AuthMiddleware.php public function handle($request, Closure $next) { if (auth()->check()) { return $next($request); } else { if (auth()->viaRemember()) { return $next($request); }

我有一些问题: 首先,这是我的代码:

AuthMiddleware.php

public function handle($request, Closure $next)
{
    if (auth()->check()) {
        return $next($request);
    } else {
        if (auth()->viaRemember()) {
            return $next($request);
        }
    }


    return redirect()->route('auth.index');

}
AuthController.php

if (auth()->attempt(compact('email', 'password'), true)) {

        return redirect()->route('dashboard');
}
Kernel.php

protected $routeMiddleware = [
    'auth.check'       => \App\Http\Middleware\AuthMiddleware::class,
 ]
routes.php

 Route::group(['prefix' => 'auth'], function () {
    Route::get('/', 'AuthController@index')->name('auth.index');
    Route::post('login', 'AuthController@login');
});

Route::group(['middleware' => 'auth.check'], function () {
    Route::get('dashboard', function () {
        return view('front.welcome');
    })->name('dashboard');
});
问题是:

  • 每次我关闭浏览器时(使用
    expire\u on\u close:true
    on 会话文件)页面将重定向到
    /login
    ,而不是
    /auth
    。我找不到将我重定向到
    /login
    的代码。有解决办法吗

  • 我想应用rememberMe函数。但每次我关闭浏览器,它总是让我退出。我已尝试设置
    在关闭时过期:false
    。是的,它正在工作,但每次我运行
    auth()->vialemory()
    时,它总是返回false。有什么建议吗


  • 我的会话使用文件。

    1-检查
    app/Exceptions/Handler.php
    这就是重定向到登录的地方。函数名是
    未经身份验证的()


    2-当用户返回网站时,只要执行
    Auth::check()
    Auth::vialemored()
    就可以了。

    您检查了中间件吗?它重定向到登录到那里guess@SaravananSampathkumar我只将自定义中间件
    auth.check
    应用于路由。我没有看到任何代码将我重定向到我的middlewareHi登录,是的!!这就解决了问题。。为什么输入exception而不是我的中间件?我猜这是因为您使用的是
    Auth
    ,因此在出现异常时,它总是重定向到那里。如何应用remember me(记住我)我应该为expire\u on\u close设置什么值?将
    expire\u on\u close
    的值设置为
    false
    。遗憾的是,记住我的函数从不工作。我关闭浏览器,然后尝试重新打开浏览器。它总是让我退出。而不是吃记忆饼干
    protected function unauthenticated($request, AuthenticationException $exception)
    {
        if ($request->expectsJson()) {
            return response()->json(['error' => 'Unauthenticated.'], 401);
        }
    
        return redirect()->guest('login'); //HERE
    }