سلام دوستان، وقتتون بخیر
یک سوالی داشتم در مورد ارتباط بین بک اند و فرانت.
شما در نظر بگیرید که سایت داریم که فرد بعد از لاگین کرد توش، با توجه به نقشی که توی سایت داره (ادمین، ادیتور، یوزر عادی و ...) به صفحات خاصی هدایت میشه. کد اینجوری کار میکنه که بعد از درخواست لاگین توی سایت، بک اند اطلاعات فرد رو به فرانت میده و فرانت توی خودش ذخیره میکنه. حالا اگه به هر دلیلی، بک اند به صورت دستی توی دیتابیس، تصمیم به تغییر نقش این کاربر کنه، توی دیتابیس نقش تغییر میکنه ولی
فرانت چون اطلاعات رو از قبل دریافت کرده، خبری از تغییر نقش این کاربر نداره و کاربر رو هی به صفحه ای که نقش قدیمیش بوده میفرسته، ولی اونجا به دلیل احراز هویتی که توسط بک اند انجام میشه، هی ارور غیر مجاز میگیره. حالا چطوری این مشکل رو برطرف کنیم؟ آیا توی هر درخواستی که فرانت به بک میده، علاوه بر اطلاعاتی که لازمه، اطلاعات کاربر رو هم دوباره باید ارسال کنیم یا راه حل بهتری است؟
معمولا بعد از تغییر اطلاعات کاربر یا نقش ها شما باید توکن کاربر رو منقضی کنی و یک توکن جدید بسازی، اونطور سمت فرانت کاربر وقتی لود میشه دوباره به صفحه ی لاگین هدایت میشه و پس از احراز هویت داده های جدید رو دریافت میکنی و ذخیره و الی ..
سلام.
راه حلش اینکه زمانی که سیستم داره خطای غیر مجاز بابت دسترسی میده همون جا اطلاعاتی به سمت فرانت ارسال کنه نقش تغییر کرده یا کاربر دیگه اون پارامتر های لازم جهت مجاز بودن یک سری دسترسی هارو نداره.
البته بهتره اطلاعات مهم رو به طور کامل سمت فرانت ذخیره نکنید و در session کاربر باشه تا هم امنیت اون اطلاعات حفظ بشه و هم دیگه لازم نباشه چنین کاری انجام بدید.
مرسی بابت پاسخگویی
حالا اگه یه چیزی نباشه که باعث بروز خطای دسترسی بشه، مثلا بک اند ،نام یک کاربر رو تغییر بده، چطوری باید فرانت اند رو مطلع کنیم؟ من دارم با لاراث کار میکنم ، آیا فانکشنی داره که این رو هندل کنه ؟ چیزی که به ذهن من میاد اینه که دو تا فیلد به دیتابیس یوزر اضافه کنم، یکی مربوط به تایم آخرین لاگین، یکی هم برای آخرین تغییر، اگه تایم تغییر جلوتر از لاگین بود، مثلا توی ریسپانس درخواست بعدی، اطلاعات کاربر رو دوباره بفرستم.
ایده ی بهتری دارید یا لاراول تدبیری برای هندل کردن این نوع وضعیت ها داره؟
معمولا بعد از تغییر اطلاعات کاربر یا نقش ها شما باید توکن کاربر رو منقضی کنی و یک توکن جدید بسازی، اونطور سمت فرانت کاربر وقتی لود میشه دوباره به صفحه ی لاگین هدایت میشه و پس از احراز هویت داده های جدید رو دریافت میکنی و ذخیره و الی ..
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟