50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

جلوگیری از لاگین شدن همزمان

سلام

چطوری میشه در mvc 5 از لاگین شدن همزمان چند نفر با یک نام کاربری و کلمه عبور جلوگیری کرد

با تشکر

پرسیده شده در 1398/02/08 توسط

1 پاسخ

0

سلام، وقت بخیر

شما می تونید session های فعال رو بر اساس آدرس ip داخل دیتابیس با یک شناسه ذخیره کنید، یعنی جدولی مشابه جدول زیر:


UserSessions:
    Id: uniqueidentifier
    UserId: Users(Id)
    IpAddress: varchar(50)
    Date: datetime
    Identifier: uniqueidetifier
    Closed: bit


بعد از ایجاد Session، یک کوکی با مقدار encrypt شده Identifier هم برای کاربر ایجاد کنید، بعد با هر Request برای لاگین چک کنید که کاربر Session فعالی داره یا خیر، اگر Session فعالی داشت اجازه لاگین مجدد داده نشه، فقط دقت کنید که این بررسی باید با بانک اطلاعاتی و کوکی انجام بشه تا کاربر نتونه اطلاعات رو به صورت دستی داخل request ارسال کنه.


پاسخ در 1398/03/20 توسط

پاسخ شما