Laravel 5.3 ve üstü için
Scott'ın cevabını aşağıdan kontrol edin .
Laravel 5 için 5.2'ye kadar
Basit ifadeyle,
Yetkilendirme katmanında:
// redirect the user to "/login"
// and stores the url being accessed on session
if (Auth::guest()) {
return redirect()->guest('login');
}
return $next($request);
Giriş yapıldığında:
// redirect the user back to the intended page
// or defaultpage if there isn't one
if (Auth::attempt(['email' => $email, 'password' => $password])) {
return redirect()->intended('defaultpage');
}
Laravel 4 için (eski cevap)
Bu cevap sırasında çerçevenin kendisinden resmi bir destek yoktu. Bugünlerdeaşağıda bgdrl ile gösterilen yöntemBu yöntem: (Cevabını güncellemeyi denedim, ama kabul etmeyecek gibi görünüyor)
Yetkilendirme filtresinde:
// redirect the user to "/login"
// and stores the url being accessed on session
Route::filter('auth', function() {
if (Auth::guest()) {
return Redirect::guest('login');
}
});
Giriş yapıldığında:
// redirect the user back to the intended page
// or defaultpage if there isn't one
if (Auth::attempt(['email' => $email, 'password' => $password])) {
return Redirect::intended('defaultpage');
}
Laravel 3 için (hatta daha eski bir cevap)
Bunu şu şekilde uygulayabilirsiniz:
Route::filter('auth', function() {
// If there's no user authenticated session
if (Auth::guest()) {
// Stores current url on session and redirect to login page
Session::put('redirect', URL::full());
return Redirect::to('/login');
}
if ($redirect = Session::get('redirect')) {
Session::forget('redirect');
return Redirect::to($redirect);
}
});
// on controller
public function get_login()
{
$this->layout->nest('content', 'auth.login');
}
public function post_login()
{
$credentials = [
'username' => Input::get('email'),
'password' => Input::get('password')
];
if (Auth::attempt($credentials)) {
return Redirect::to('logged_in_homepage_here');
}
return Redirect::to('login')->with_input();
}
Oturumdaki yeniden yönlendirmeyi depolamak, kullanıcı kimlik bilgilerini yazmasa veya bir hesabı yoksa ve kaydolmak zorunda olsa bile, devam ettirmenin yararına sahiptir.
Bu aynı zamanda Auth dışında her şeyin oturumda bir yönlendirme ayarlamasına izin verir ve sihirli bir şekilde çalışır.