लारवेल 5.3 और उससे ऊपर के लिए
नीचे स्कॉट के जवाब की जाँच करें।
लारवेल के लिए ५.२ तक
सीधे शब्दों में कहें,
ऑवर मिडलवेयर पर:
// redirect the user to "/login"
// and stores the url being accessed on session
if (Auth::guest()) {
return redirect()->guest('login');
}
return $next($request);
लॉगिन क्रिया पर:
// 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');
}
लारवेल 4 (पुराना उत्तर) के लिए
इस उत्तर के समय में फ्रेमवर्क से कोई आधिकारिक समर्थन नहीं था। आजकल आप उपयोग कर सकते हैंविधि नीचे bgdrl द्वारा इंगित की गई हैयह विधि: (मैंने उसका उत्तर अपडेट करने की कोशिश की है, लेकिन ऐसा लगता है कि वह स्वीकार नहीं करेगा)
ऑनर्स फिल्टर:
// redirect the user to "/login"
// and stores the url being accessed on session
Route::filter('auth', function() {
if (Auth::guest()) {
return Redirect::guest('login');
}
});
लॉगिन क्रिया पर:
// 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');
}
लारवेल 3 के लिए (और भी पुराने उत्तर)
आप इसे इस तरह से लागू कर सकते हैं:
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();
}
सत्र पर पुनर्निर्देशन संग्रहीत करने से उपयोगकर्ता के अपनी साख टाइप करने पर भी इसे जारी रखने का लाभ होता है या उसके पास खाता नहीं है और साइनअप करना पड़ता है।
यह सत्र पर रीडायरेक्ट सेट करने के लिए Auth के अलावा किसी और चीज़ के लिए भी अनुमति देता है और यह जादुई रूप से काम करेगा।