auth :: viaremember()没有工作(即使在成功登录后,始终返回false)5.4



我在Laravel 5.4中使用php artisan make:auth,因为我们知道Laravel默认登录仅支持电子邮件,因此,我将login()放在authcontroller中,如下(登录工作( -

public function login(Request $request)
{
    $remember = ($request->input('remember')=='1')?true:false;
    // this will remember the user as given in laravel documentation.
    if (Auth::attempt(['user_name' => $request->user_name, 'password' => $request->password],$remember)) {
        return redirect()->intended('admin');
    } 
    elseif (Auth::attempt(['email'=> $request->user_name, 'password' => $request->password],$remember)) {
            return redirect()->intended('admin'); 
    } 

    else {
        return redirect('/login')->with(['error'=>'Invalid user name and password'])
                                 ->withInput();
    }
}

现在,每当会话过期时,简单地键入URL就应该重定向到管理/仪表板,但是CAND -UNOT不会这样做...默认情况下,它将其重定向到登录页面。

我将Auth::viaRemember()放在AuthconColler类的构造函数中,然后检查以下类似的中间件 -

public function __construct()
{
    // login with  remember me before checking whether its logged in or not
    Auth::viaRemember();
    $this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}

我在堆栈溢出中遵循的内容 -

通过记住我总是返回false -此链接类似于我的

viaremember不起作用-laravel

laravel 5 viaremember((总是false

laravel:在整个网站上实现auth :: viarememb((

protected function attemptLogin(Request $request)
{
     // dd($request->has('remember'));
    $remember =$request->has('remember');
    return $this->guard()->attempt(
        $this->credentials($request), $remember
    );
}

在authenticateusers.php中使用它,它对我有用

public function __construct()
{
    Auth::viaRemember()
    Auth::check();
    Auth::viaRemember();
    $this->middleware($this->guestMiddleware(), ['except' => 'logout']);
}

尝试此

相关内容

最新更新