লারাভেল 5.3 এবং তারপরের জন্য
স্কট এর উত্তর নীচে পরীক্ষা করুন ।
লারাভেল 5 এর জন্য 5.2 পর্যন্ত
সহজভাবে করা,
লেখক মিডলওয়্যার:
// 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 (পুরানো উত্তর) এর জন্য
এই উত্তরের সময় ফ্রেমওয়ার্ক থেকে নিজেই কোনও সরকারী সমর্থন ছিল না। আজকাল আপনি ব্যবহার করতে পারেনপদ্ধতিটি নীচে বিজিডিআরএল দ্বারা নির্দেশিতএই পদ্ধতি: (আমি তার উত্তর আপডেট করার চেষ্টা করেছি, তবে মনে হয় সে গ্রহণ করবে না)
লেখক ফিল্টার এ:
// 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();
}
সেশনে পুনঃনির্দেশটি সংরক্ষণ করার পক্ষে এটি চালিয়ে যাওয়ার সুবিধা রয়েছে এমনকি যদি ব্যবহারকারী তার শংসাপত্রগুলি মিস করে বা তার কোনও অ্যাকাউন্ট না থাকে এবং সাইন আপ করতে হয়।
এটি আথ ছাড়াও অন্য যে কোনও কিছুকে সেশনে পুনর্নির্দেশ সেট করার অনুমতি দেয় এবং এটি যাদুতে কাজ করবে।