Laravel 8 로그인 후 다른 장치 로그 아웃

원래 게시된 @https://codeanddeploy.com 방문하여 샘플 코드 다운로드: https://codeanddeploy.com/blog/laravel/laravel-8-logout-other-devices-after-login

이번 포스팅에서는 라라벨 8에서 제공하는 효과적인 로그인 후 다른 기기 로그아웃 방법에 대해 공유해 보도록 하겠습니다. 사용자에 대한 구독 제한이 있고 한 번에 하나의 장치에만 로그인할 수 있는 Laravel 프로젝트를 개발하는 경우 이 방법을 구현해야 합니다.

Laravel의 기본 로그인 방법을 사용하는 경우 아래 단계를 따르십시오.

먼저 LoginController에 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);

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

    if($request->get('remember')):
        $this->setRememberMeExpiration($user);
    endif;

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


내 예제에서 볼 수 있듯이 위의 코드에 오류가 없으면 authenticated() 메서드를 반환했습니다.

그런 다음 LoginController에 authenticated() 메서드가 있어야 합니다. 아래 예를 참조하세요.

/**
* Handle response after user authenticated
* 
* @param Request $request
* @param Auth $user
* 
* @return \Illuminate\Http\Response
*/
protected function authenticated(Request $request, $user) 
{   
    Auth::logoutOtherDevices($request('password'));

    return redirect()->intended();
}


보시다시피 저는 Auth::logoutOtherDevices()에 비밀번호 매개변수를 추가했습니다. 다른 활성 장치에서 로그아웃할 수 있도록 합니다.

이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/laravel-8-logout-other-devices-after-login를 방문하십시오.

행복한 코딩 :)

좋은 웹페이지 즐겨찾기