نمایش نتایج 1 تا 9 از 9

نام تاپیک: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

  1. #1

    عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    دوستان چطوری میشه اجازه نداد یه نام کاربری همزمان دوبار وارد سیستم شود؟
    راه حل خودم اینه که یه فیلد acitve تو تیبل یوزرها اضافه کردم که هر موقع یوزری وارد سیستم شد این فیلد true و موقع خروج false بشه. اینطوری موقه ورود هر نام کاربری فقط باید active چک بشه اگه true بود ینی این نام کاربری درحال استفاده است و نمیتونه دو باره وارد سیستم بشه. حالا مشکلم اینه که اگه کاربر برنامه رو ببنده و فرم اصلی close بشه فیلد active فالس میشه ولی اگه برنامه به هر دلیلی هنگ کنه یا برق قطع بشه و بسته بشه دیگه این فیلد فالس نمیشه و true باقی میمونه. و باعث مشکل میشه
    راه حل دیگه ای لطفا؟؟

  2. #2
    کاربر دائمی آواتار vahidmasoudi1391
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    استان مازندران
    پست
    281

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

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

  3. #3

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    نقل قول نوشته شده توسط vahidmasoudi1391 مشاهده تاپیک
    سلام
    چون برنامه چند کاربره تحت شبکه بنظرم همین بهترین راه هست
    موفق باشید
    منکه عرض کردم. این راه مشکلش اینه که اگه برنامه هنگ کنه و یا مثلا برق قطع بشه (برنامه به هر دلیلی جز توسط کاربر بسته بشه) دیگه تابعی که فیلد اکتیو رو فالس کنه فراخوانی نمیشه و این فیلد true باقی میمونه. در این شرایط وقتی کاربر میخاد برنامه رو باز کنه چون فیلد true هستش فکر میکنه کاربر آنلاینه و نمیزاره وارده برنامه بشه!!

  4. #4

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    دوست عزیز به نظر من شما کدتون رو جوری در نظر بگیرین که با هر بار خروج از سیستم کد F بشه به نحوی که اگر به هر طریقی کاربر سیستمش هنگ کرد و دفعه بعد که خواست وارد بشه اول پیغام بده که کاربر دیگه ای مشغول به کار هستش و بعد خروج کنه و در هنگام خروج T رو تبدیل F کنه.یعنی کد ورود و خروج شما در صورت عدم موفقیت همیشه F بشه اینجوری فقط یک کاربر میتونه درون سیستم به فعالیت بپردازه
    موفق باشید

  5. #5
    کاربر جدید آواتار mohsenforghani
    تاریخ عضویت
    بهمن 1392
    محل زندگی
    کرج
    پست
    6

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    سلام دوست عزیز.
    دستورتون رو در رویداد form closing کاملتر کنید.

  6. #6

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    سلام
    تو کدنویسی قبل از اینکه کاربر ورود کنه یک بار حضور کاربر رو در سرور false کنید دوباره پروسه ورود رو از سر بگیرید

  7. #7
    مدیر کل سایت آواتار محمد آشتیانی
    تاریخ عضویت
    مهر 1384
    محل زندگی
    تهران
    پست
    1,528

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    سلام
    مکانیزم درست و کامل کنترل دسترسی ، جزئیات زیادی داره که موضوع بحث این تاپیک نیست.
    اما به صورت دم دستی اگر بخواید این مشکل رو حل کنید میشه به صورتی که خواهم گفت عمل کنید:
    در جدول کاربران ، یک فیلد به نام LastActivityDateTime قرار بدید ، هنگامی که کاربر مشغول کار با نرم افزار هست ، مقدار اون فیلد رو آپدیت کنید. (مثلا با هر کوئری که اجرا می کنید ، مقدار اون فیلد هم به تاریخ و زمان فعلی آپدیت بشه)
    حالا شما در نظر داشته باشید ، موقع لاگین کاربر ، اگر فیلد Active مقدارش برابر True باشه و مدت زمان قابل توجهی از عدم فعالیتش گذشته باشه ، میتونید مقدار فیلد رو به False تغییر بدید و عمل لاگین رو انجام بدید.
    در صورتی که تفاضل زمان آخرین فعالیت با زمان فعلی از حد مشخصی کمتر بود ، میتونید فرض بگیرید کاربر در حال فعالیت هست و اجازه لاگین مجدد رو ندید.

    حتی میتونید این زمان رو هم در قالب یک تنظیم در سیستمتون نگهداری کنید (مثلا حد عدم فعالیت کاربر برای این منظور رو 30 دقیقه در نظر بگیرید)
    این یعنی حتی اگر برق قطع بشه و یا اگر به علت هر اتفاقی برنامه بسته بشه و اون فیلد آپدیت نشه ، نهایتا کاربر میتونه بعد از گذشتن اون زمان مشخص شده ، دوباره لاگین کنه و به کارش ادامه بده.
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  8. #8
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    674

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    یه پیشنهاد دارم ولی خودم هنوز باهاش کار نکردم و اگر تجربه کردید در ادامه همین تاپیک در اختیار بقیه بذارید

    زمانی که یه برنامه به SQL متصل میشه، در برنامه SQL یه Session ایجاد میشه ولی این Sessionها تا مدتی هستند و اگر درخواستی از برنامه به سمت SQL نره، به دلیل وجود TimeOut، اون Session حذف میشه و به محض ایجاد ارتباط، SQL مجددا یک Session جدید با مشخصات جدید ایجاد میکنه.

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

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

  9. #9
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    674

    نقل قول: عدم امکان ورود دو شخص با یه نام کاربری به سیستم بصورت همزمان

    یه نگاهی به این لینک بنداز

    https://www.sqlshack.com/monitoring-...d-connections/

تاپیک های مشابه

  1. ایجاد حقوق ثابت ماهانه و واریز اتوماتیک سیستمی مبالغ به صورت ماهانه به صورت کاملا قانونی
    نوشته شده توسط hasanvps در بخش گفتگوی عمومی کامپیوتر و فناوری اطلاعات
    پاسخ: 0
    آخرین پست: شنبه 21 مهر 1397, 15:18 عصر
  2. گفتگو: تحلیل یک سیستم ERP به صورت گروهی
    نوشته شده توسط علیرضا حسن زاده در بخش تحلیل و طراحی نرم افزار
    پاسخ: 83
    آخرین پست: دوشنبه 16 شهریور 1394, 17:47 عصر
  3. سوال: کامپایل برنامه به صورت پرتابل و امکان اجرای آن در سیستم های مختلف
    نوشته شده توسط karbara121 در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 1
    آخرین پست: سه شنبه 11 تیر 1392, 09:16 صبح
  4. سوال: کد سیستم نمایش به صورت عکس
    نوشته شده توسط iman65 در بخش PHP
    پاسخ: 7
    آخرین پست: پنج شنبه 06 خرداد 1389, 00:36 صبح
  5. سیستم رایانه بصورت شبکه - کمک کنید
    نوشته شده توسط smderfan در بخش شبکه و Networking‌
    پاسخ: 3
    آخرین پست: پنج شنبه 25 اسفند 1384, 12:36 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •