ابوالفضل زارعی
1 سال پیش توسط ابوالفضل زارعی مطرح شد
2 پاسخ

با هر شماره فقط یک نفر بتونه در سایت انلاین باشه

سلام سایتی با asp است چیکار کنیم با هر شماره فقط یک نفر بتونه در سایت انلاین باشه و وقتی فرد دیگری با اون شماره لاگین کرر کاربر قبلی را اتوماتیک از سایت خارج کنه


ثبت پرسش جدید
محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 1 سال پیش مطرح شد
0

سلام دوست عزیز
من نمیدونم asp پکیجی داره یا نه در این رابطه چون تخصصم نیست ولی از اونجایی که دوستان پاسخ ندادند خدمت شما به صورت کلی توضیح میدم
شما میتونی ورود شخصی خودت رو پیاده کنی به شکلی که توضیح میدم بهت ( این روند کاریه که برای ما در لاراول پکیج sanctum انجام میده خودش )
شما جدولی برای لاگین شدن میسازی که هر نشست ورود و خروج رو توش قرار میدی مثلا login_activities
توی این جدول بر اساس شناسه کاربرت که شما میگی شماره تماس هست و یا هر شناسه دیگه ای که دوس داری یه توکن تولید میکنی و هنگام ورود ذخیره میکنیش
مثلا یه توکن رشته ای 30 کاراکتری رندوم و غیر تکراری
این توکن رو موقع ورود به کاربر میدی و توی Session ذخیره میکنی
حالا کلا کاربری که این توکن رو داره توی سشن خودش فرد لاگین شده هست و اگر شخص دیگری با این شماره لاگین شد این توکن قبلی رو میتونی باطل کنی ( و ترجیحا پاک کنی تا تعداد سطر های جدولت کم بشه هر بار و در جستجو های بعدی سنگین نشه کار برنامت)
همین
عملا برای هر شماره یه توکن ورود داری که با ورود مجدد توکن قبلی باطل و کاربر از سایت خارج میشه

نیاز هست اینجا یه middleware یا واسط سمت سرور برای روت هات داشته باشی که برای هر درخواست وجود و لاگین بودن توکن رو از سرور بررسی کنه
خیلی کار سختی نیست پیاده سازیش اگر دقت کنی فقط کار با سشن و تولید یه کد یکتا هست و بررسی اون در هر درخواست

جدول پیشفرضی که پکیج برای ما ایجاد میکنه ساختار زیر رو داره ولی شما خیلی سبک تر بنویسش
abilities آرایه سطح دست رسی هاست برای کاربر tokenable_type برای اینه که ممکنه از چند جدول مختلف بخوایی ورود داشته باشی مثلا استاد و دانشجو فرض کن جدولش جداست
name برای زمانی هست که چند ورود همزمان داشته باشی عدد میزاری که توکن چندمه
بقیشم از رو اسمش مشخصه معنیشون
در کل اینا نیاز نیست ولی خواستم اشنا بشی به طور کلی
شما فقط شماره تلفن شخص و یه توکن ایجاد شده داری با وضعیت فعال یا غیر فعال بودن که اینم میتونی نزاری و موقع ورود پاک کنی توکن فعال قبلی رو
موفق باشی


حسین افتخارراد
تخصص : نال کد
@hosseinradvictor 1 سال پیش مطرح شد
0

اول یوزر رو لاگ اوت کنید و سشن شو حذف کنید بعد لاگ این کنید بدین صورت همه دیوایس ها فعال لاگ اوت میشن و فقط یوزر فعال لاگ میشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام