• 1403/02/07

لاگ اوت شدن کاربران :

سلام و درود من مشکل لاگ اوت شدن کاربران در سایت پابلیش شده بر روی سرور پس از 20 دقیقه رو دارم .

کلی مطالعه کردم سرچ کردم از DataProtection استفاده کردم ولی هنوز مشکل به قوت خودش باقیه .

اگه کمک کنید مشکلم حل شه خیلی خوشحال میشم:)

  • 1403/02/07
  • ساعت 18:11

سلام برادر عزیز

کوکی ها در لوکال درست کار میکنن ولی در سرور به خاطر تنظیماتی که داره، کوکی ها کار نمی کنن و وقتی کاربر روی دکمه مرا به خاطر بسپار میزنه،لاگین نمیمونه چون کوکی ست نمیشه.راهش اینه در ابتدا پکیج Microsoft.AspNetCore.DataProtection.SystemWeb رو از nuget نصب کن و بعدش کد زیر رو در program.cs در بالای builder.Services.AddAuthentication(options => قرار بدی.

builder.Services.AddDataProtection()

   // This helps surviving a restart: a same app will find back its keys. Just ensure to create the folder.

   .PersistKeysToFileSystem(new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/KeyDirectory/")))

   // This helps surviving a site update: each app has its own store, building the site creates a new app

   .SetApplicationName("MarketPlaceApp")

   .SetDefaultKeyLifetime(TimeSpan.FromDays(90));

در این کدبه جای عدد 90 هر عددی قرار بدی بر حسب روز کاربر رو لاگین نگه میداره.فقط در wwwroot اگه پوشه KeyDirectory رو نداری،قبلش بساز.

 

خب حالا فرض کن کاربر گزینه مرا به خاطر بسپار رو نزنه.اون موقع باید سشن، لاگین موندن کاربر رو مدیریت کنه که اونم به سرور ربط داره.کافیه بری به پلسک سرورت و مسیر website and domain>AspNetSetting و در گزینه آخر صفحه Session timeout (minutes) رو روی عددی بر حسب دقیقه مثلا 30 ست کنی تا کاربر در صورتیکه 30 دقیقه از سایت استفاده ای نکنه, لاگ اوت بشه


  • 1403/02/09
  • ساعت 15:23

سلام دوست عزیزم وقت بخیر

همونطور که دوستمون توضیح داد شما باید از DataProtection استفاده کنی


  • 1403/02/11
  • ساعت 17:43

خیلی بهم حال دادی ممنونم ازت :)


  • 1403/02/11
  • ساعت 18:43

متاسفانه مشکلم حل نشد 


logo-samandehi