Laravel Remember Me 로그인을 위한 가장 쉬운 구현 사용자 지정 만료

원래 @https://codeanddeploy.com에 게시된 샘플 코드를 방문하여 다운로드합니다.
https://codeanddeploy.com/blog/laravel/easiest-implementation-custom-expiration-for-laravel-remember-me-login

이전post에서 Laravel Remember Me 인증/로그인에 대한 사용자 정의 만료를 구현하는 방법을 공유했습니다. 하지만 내 코드를 테스트할 때 세션을 삭제하면 작동하지 않는 것 같고 로그인 페이지로 리디렉션됩니다. 그래서 조사했지만 여전히 운이 좋지 않아 Auth Session Guard를 확인하고 Remember me 기간을 분 단위로 설정할 수 있는 공개 방법이 있음을 발견했습니다.

여기 내 LoginController 의 전체 코드가 있습니다.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests\LoginRequest;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{
    /**
     * Display login page.
     * 
     * @return Renderable
     */
    public function show()
    {
        return view('auth.login');
    }

    /**
     * Handle account login request
     * 
     * @param LoginRequest $request
     * 
     * @return \Illuminate\Http\Response
     */
    public function login(LoginRequest $request)
    {
        $credentials = $request->getCredentials();

        if(!Auth::validate($credentials)):
            return redirect()->to('login')
                ->withErrors(trans('auth.failed'));
        endif;

        $user = Auth::getProvider()->retrieveByCredentials($credentials);

        if($request->get('remember')):
            Auth::setRememberDuration(43200); // equivalent to 1 month
        endif;

        Auth::login($user, $request->get('remember'));

        return $this->authenticated($request, $user);
    }

    /**
     * Handle response after user authenticated
     * 
     * @param Request $request
     * @param Auth $user
     * 
     * @return \Illuminate\Http\Response
     */
    protected function authenticated(Request $request, $user) 
    {
        return redirect()->intended();
    }
}


이전 튜토리얼에서 Laravel remember me 인증/로그인을 사용자 정의하는 사용자 정의 특성 클래스를 만들었습니다. 하지만 지금은 그것을 제거하고 Auth::login() 메서드 앞에 3줄의 코드를 넣었습니다.

if($request->get('remember')):
   Auth::setRememberDuration(43200);
endif;


단 3줄이면 이제 Laravel remember me를 사용자 정의할 수 있습니다. 이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/easiest-implementation-custom-expiration-for-laravel-remember-me-login를 방문하십시오.

행복한 코딩 :)

좋은 웹페이지 즐겨찾기