> 백엔드 개발 > PHP 튜토리얼 > Laravel 로그인 후 사용자를 원래 목적지로 다시 리디렉션하려면 어떻게 해야 합니까?

Laravel 로그인 후 사용자를 원래 목적지로 다시 리디렉션하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-12-04 19:41:10
원래의
419명이 탐색했습니다.

How Can I Redirect Users Back to Their Original Destination After Laravel Login?

Laravel 로그인 후 원래 대상으로 다시 리디렉션

이 기능은 웹 애플리케이션에서 자주 필요합니다. Laravel은 필수 기능에 대한 우아한 솔루션을 제공하여 이것이 기회를 놓친 것이 아닌가 하는 의문을 갖게 합니다.

Laravel 5.3 이상

Scott이 지적했듯이 기본 현재 메소드가 존재합니다:

return redirect()->intended('defaultpage');
로그인 후 복사

Laravel 5 최대 5.2

인증 미들웨어:

// redirect to "/login" and store the URL in session
if (Auth::guest()) {
    return redirect()->guest('login');
}
로그인 후 복사

로그인 작업:

// redirect back to intended page or default if not available
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('defaultpage');
}
로그인 후 복사

의 경우 라라벨 4

이전 버전에서는 공식적인 지원이 없었지만 여전히 구현할 수 있습니다.

인증 필터:

// redirect to "/login" and store the URL in session
Route::filter('auth', function() {
    if (Auth::guest()) {
        return Redirect::guest('login');
    }
});
로그인 후 복사

로그인 작업:

// redirect back to intended page or default if not available
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return Redirect::intended('defaultpage');
}
로그인 후 복사

Laravel 3의 경우

이전 접근 방식에서는 리디렉션을 세션에 저장하는 것이 포함됩니다.

Auth 필터:

Route::filter('auth', function() {
    if (Auth::guest()) {
        Session::put('redirect', URL::full());
        return Redirect::to('/login');
    }
    if ($redirect = Session::get('redirect')) {
        Session::forget('redirect');
        return Redirect::to($redirect);
    }
});
로그인 후 복사

컨트롤러:

// login action
public function post_login()
{
    if (Auth::attempt($credentials)) {
        return Redirect::to('logged_in_homepage_here');
    }

    return Redirect::to('login')->with_input();
}
로그인 후 복사

이 접근 방식을 사용하면 모든 구성 요소가 후속 검색을 위해 세션에서 리디렉션을 설정할 수 있습니다.

위 내용은 Laravel 로그인 후 사용자를 원래 목적지로 다시 리디렉션하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿