نگاه کن بذار موضوع رو برات باز کنم
اگه کاربر بدون اینکه لاگین کرده باشه یه url که نیاز به لاگین داره (auth middleware) رو درخواست کنه لاراول میاد یک کلید url.intended توی session ها ایجاد میکنه که بعد لاگین به همون صفحه برگرده حالا ما میام یه تیریک میزنیم که در واقع این کلید رو ایجاد کنیم.
برو توی Auth/LoginController متد زیر رو کپی کنقرار بده و همه چی تمومه:
/**
* Show the application's login form.
*
* @return \Illuminate\Http\Response
*/
public function showLoginForm()
{
if (!session()->has('url.intended')) {
session(['url.intended' => url()->previous()]);
}
return view('auth.login');
}
کاری که این متد انجام میده اینه که اگه کلید url.intended وجود نداشته باشه اون رو ایجاد میکنه و مقدارشو url قبلی قرار میده و بعد میره به صفحه لاگین و تمام
نگاه کن بذار موضوع رو برات باز کنم
اگه کاربر بدون اینکه لاگین کرده باشه یه url که نیاز به لاگین داره (auth middleware) رو درخواست کنه لاراول میاد یک کلید url.intended توی session ها ایجاد میکنه که بعد لاگین به همون صفحه برگرده حالا ما میام یه تیریک میزنیم که در واقع این کلید رو ایجاد کنیم.
برو توی Auth/LoginController متد زیر رو کپی کنقرار بده و همه چی تمومه:
/**
* Show the application's login form.
*
* @return \Illuminate\Http\Response
*/
public function showLoginForm()
{
if (!session()->has('url.intended')) {
session(['url.intended' => url()->previous()]);
}
return view('auth.login');
}
کاری که این متد انجام میده اینه که اگه کلید url.intended وجود نداشته باشه اون رو ایجاد میکنه و مقدارشو url قبلی قرار میده و بعد میره به صفحه لاگین و تمام
ببین برای اینکار :
کاربر میخواد وارد یه صفحه ای بشه که بعدش ریدایرکت میشه به صفحه ی لاگین . این ریدایرکت شدنه توی یه میدلور اتفاق میفته درسته؟
توی اون میدلور url حال حاضر رو میگیری میریزی تو یه سشن بعد وقتی کاربر لاگین شد اون سشن رو میخونی و میفرستیش به اون صفحه اوکی شد؟
در غیر اینصورت باید تو صفحه لاگین url قبلی رو بخونی اما اگه قبلش لاگین رو تو یه صفحه جدا پیاده سازی کنی url قبلی میشه اون صفحه لاگین نه اون صفحه ای که قبل از لاگین شدن داخلش بود. برای حل این مشکل لاگین شدن رو باید با یه مدال پیاده سازی کنی یعنی هر جا نیاز به لاگین شد وارد صفحه ی دیگه ای نشه کاربر همونجا به مدال باز بشه بگه باید وارد شی .
امیدوارم توضیحاتمو متوجه شده باشی:-)
سلام
اگر قرار باشه که لاگین به صورت مدال باشه....چجوری به صفحه ای که قبلا بوده برگشت داده میشه؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟