Laravel에서 승인 후 원래 대상으로 다시 리디렉션
사용자 승인 후 원하는 대상으로 리디렉션하는 것은 웹 애플리케이션의 일반적인 요구 사항입니다. Laravel에서 이를 달성하려면 인증이 작동하는 방식을 이해하고 적절한 기술을 활용해야 합니다.
인증 프로세스
사용자가 보호된 경로에 액세스하려고 하면 Laravel의 인증 미들웨어는 인증 미들웨어와 같은 요청을 가로챕니다. 사용자가 로그인하지 않은 경우 로그인 페이지로 리디렉션됩니다.
원래 대상 확인
로그인 후 사용자가 원래 페이지를 확인해야 합니다. 승인 프로세스가 시작되기 전에 액세스를 시도했습니다. Laravel은 이를 위한 내장 기능을 제공합니다:
Laravel 5.3 이상
Laravel 5.3부터는 의도된 도우미 메서드가 도입되었습니다. 로그인 컨트롤러에서 인증 성공 후:
return redirect()->intended('/');
이렇게 하면 사용자가 원래 액세스하려고 했던 페이지로 리디렉션됩니다.
Laravel 5 최대 5.2
Laravel 5~5.2에서는 Redirect에서 의도된() 메서드를 활용할 수 있습니다. class:
return redirect()->intended('defaultpage');
원하는 페이지가 설정되지 않은 경우 홈페이지 등 지정된 기본 페이지로 리디렉션됩니다.
Laravel 4 이하
Laravel 5.3 이전에는 이 기능에 대한 공식적인 지원이 부족했습니다. 한 가지 접근 방식은 인증 프로세스 중에 의도한 URL을 세션에 저장한 다음 성공적인 로그인 후 해당 URL로 리디렉션하는 것입니다.
// In the authorization filter if (Auth::guest()) { Session::put('intended', Request::fullUrl()); return Redirect::guest('login'); } // In the login controller if (Auth::attempt(['email' => $email, 'password' => $password])) { $intended = Session::get('intended'); Session::forget('intended'); return Redirect::to($intended ?: 'defaultpage'); }
수동 구현
원하는 경우 이 기능을 수동으로 구현하면 로그인 후 원하는 대상을 선택할 수 있는 페이지로 사용자를 리디렉션할 수 있습니다. 또는 의도한 페이지를 임시 변수(예: 쿠키)에 저장하고 인증이 성공하면 즉시 사용자를 해당 페이지로 리디렉션합니다.
위 내용은 Laravel에서 승인 후 사용자를 의도한 대상으로 리디렉션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!