PDA

View Full Version : سوال: جلوگیری از ورود چندبار یک کاربر



saied7468
پنج شنبه 05 آذر 1388, 22:57 عصر
سلام :لبخندساده:
چطوری میشه چک کرد که یه کاربر در برنامه لاگین کرده و فعال هست؟ در حقیقت می خوام نزارم که یه کاربر با نام کاربری و پسوردش بیشتر از یکبار وارد برنامه بشه .
جستجو هم کردم و تاپیک زیر رو پیدا کردم اما به نظرم روشی که استفاده می کنه زیاد جالب نیست چون وقتی کاربر لاگین کرد و مقدار فیلد ACTIVE رو TRUE کردیم اگه به هر طریق(مثل قطعی برق یا قطعی شبکه یا ...) ارتباط برنامه با بانک قطع شه مقدار این فیلد TRUE می مونه دفعه بعد که کاربر خواست لاگین کنه با مشکل مواجه می شه .
http://barnamenevis.org/forum/showthread.php?t=155142&highlight=login

far9090
جمعه 06 آذر 1388, 14:24 عصر
سلام . حتما باید توی Database ثبت کنی . فعال بودنش رو می تونی توی Ram هم نگه داری . بعد اگر هم برق ها بره شما کاربر رو خارج شده فرض می کنی ؟ اگر اینطور باشه و نیازی به Sign out کردن دستی نباشه اینطوری فکر کنم حل شه . موفق باشید .

saied7468
شنبه 07 آذر 1388, 12:53 عصر
سلام . حتما باید توی Database ثبت کنی . فعال بودنش رو می تونی توی Ram هم نگه داری . بعد اگر هم برق ها بره شما کاربر رو خارج شده فرض می کنی ؟ اگر اینطور باشه و نیازی به Sign out کردن دستی نباشه اینطوری فکر کنم حل شه . موفق باشید .
سلام
در رابطه با راهنمایی که کردید دوتا سوال برام پیش امده:
1- من فقط بانکم رو روی سرور به اشتراک گذاشتم و فقط از طریق بانک به سرور دسترسی دارم .چطوری می تونم داده ها رو توی رم سرور ایجاد و نگهداری کنم ؟؟
2-این راهی که گفتید در صورتی خوبه که فقط برق بره .اگه شبکه قطع شه چی داده ها توی رم باقی می مونه و وقتی دوباره شبکه وصل شه دوباره کاربر با همون مشکل قبلی رو بره می شه درسته ؟؟

من یه راه دیگه هم پیدا کردم که اونم اینه که یه برنامه همیشه روی سرور در حال اجرا باشه و اتصالها رو چک کنه البته اینم زیاد جالب نیست.

shahab_ss
شنبه 07 آذر 1388, 20:35 عصر
من یه راه دیگه هم پیدا کردم که اونم اینه که یه برنامه همیشه روی سرور در حال اجرا باشه و اتصالها رو چک کنه البته اینم زیاد جالب نیست.

راه حل خودت بد نیست ،اگر درست پیاده سازی بشه. (میتونی از یک تایمر استفاده کنی)


در حقیقت می خوام نزارم که یه کاربر با نام کاربری و پسوردش بیشتر از یکبار وارد برنامه بشه
شما میتونی برای هر کاربر که داره وارد سیستم میشه Client IP رو درگیر کنی و زمان LogIn چک کنی که از قبل وارد نشده باشه.
اگر خواستی یک کاربر با کلمه عبور خودش هم زمان بتونه از چند سیستم وارد بشه میتونی زمان ورود به اون یه کد Random بدی و از این کد + Client IP بعنوان کلید استفاده کنی.