PDA

View Full Version : سوال: يك سوال در مورد نوشتن user ها در برنامه



soheil3242
چهارشنبه 02 مرداد 1387, 12:31 عصر
سلام به همه دوستان :عصبانی++:

چه طور ميتوان در برنامه هاي مختلف user هايي با سطح دست رسي متفاوت تعريف كرد
آيا بايد از طريق برنامه نويسي role ها در sql باشد يا بايد يك table در پايگاه تعريف كرد كه
شامل user name و password افراد و يكي از نقش هاي موجود رو كه بايد موقع ثبت
شدن كاربر انتخاب مي شود ميباشد و فقط اين نقشها حالت شرط براي ورود به فرم هاي مختلف را داشته باشد .

Reza Safa
چهارشنبه 02 مرداد 1387, 12:52 عصر
برای اینکه فضای کمتیری اشغال کنی می توانی در همان جدولی که کاربران را تعریف کردی
محدوده دسترسی را آنجا مشخص کنید
من فکر میکنم اینطور بهتره البته دوستان حرفه ای تر هم هستند که کمکت کنند

morteza_261
چهارشنبه 02 مرداد 1387, 17:25 عصر
سلام
منم با آقارضا موافقم
من خودم یه سری یه برنامه با سطح دسترسی متفاوت نوشتم،خودمم از همین راه استفاده کردم
یه جدول که از یوزر،پسوورد و سطح دسترسی تشکیل شده بود
اگه توضیح بیشتر خواستی در خدمتیم

Dariuosh
پنج شنبه 03 مرداد 1387, 04:14 صبح
براي اينکه بتوني براي کاربرها دسترسي تعيين کني احتياج به يه جدول داري که توش به ازائ هر آيتمي که ميخواي روش دسترسي ست کني با کد اون کاربر يه رديف داشته باشي ، که در زمان بالا اومدن سيستمت اونارو دونه دونه بخوني و تو برنامت اعمال کني

Meysamkh
پنج شنبه 03 مرداد 1387, 11:48 صبح
سلام
در ادامه صحبت های دوستان :
1.یک جدول توی دیتا بیس ایجاد کن که شامل usernameو passwordوformهای توی برنامت باشه.توجه داشته باش که type فرمهات باید bit باشه.
2.یک فرم تو برنامت درست کن که بتونی به کاربر هات permission بدی.
3.در نهایت توی formlogin باید بره از دیتا بیست بخونه .هر کدوم true بود enable و false بود disable بشه.

sadeghie
شنبه 05 مرداد 1387, 02:14 صبح
با سلام
میشه این موضوع رو در مورد برنامه تحت وب با وی بی .نت و اس کیو ال 2005 توضیح بدین برای برنامه اتوماسیون اداری میخوام
لطفا اگه کسی میدونه بگه خیلی خیلی فوریه
ممنون

ASKaffash
شنبه 05 مرداد 1387, 11:58 صبح
سلام به همه دوستان :عصبانی++:

چه طور ميتوان در برنامه هاي مختلف user هايي با سطح دست رسي متفاوت تعريف كرد
آيا بايد از طريق برنامه نويسي role ها در sql باشد يا بايد يك table در پايگاه تعريف كرد كه
شامل user name و password افراد و يكي از نقش هاي موجود رو كه بايد موقع ثبت
شدن كاربر انتخاب مي شود ميباشد و فقط اين نقشها حالت شرط براي ورود به فرم هاي مختلف را داشته باشد .

با سلام
این روشها که توسط دوستان ارائه شده راحتترین روش جهت ایجاد سطح دسترسی است اما بهترین کار این است که کاربران متفاوت با سطوح دسترسی SQL بتوانند متصل شوند یعنی اینکه هر کاربر ConnectionString خاص خودش را دارد ولی برنامه نویسی آن سخت تر است و اما مزایای این کار :
- Log کاربران توسط SQL قابل تفکیک است (Log ایجاد شده در SQLServer دیگر سرکاری نیست)
- کاربران متناسب با سطح دسترسی به برنامه: کاربر مربوطه را در SQL دارند نه اینکه مثلا همه با sq متصل شده اند
- اگر کاربری فقط گزارشگیری انجام میدهد میتواند User آن در SQL خواندنی باشد و خیلی از Object ها را درون SQL را ندارد
-برنامه کاربردی شما مستقل از کاربر و رمز SQL باید طراحی گردد و مجبو میشوید مسائل امنیتی را در طراحی لحاظ کنید

رضا جاسبی
جمعه 11 مرداد 1387, 04:00 صبح
راه حلی که ASKaffash ارائه کرد بهترین حالته و یک نکته دیگه هم اینکه اگر کاربر نرم افزار بتونه connection String رو هم ببینه یعنی مثلا از طریق Enterprise Manager به SQL دسترسی داشته باشه هم نمی تونه به جداول دست بزنه. اما پیاده کردن برای برنامه نویس و البته طراح دیتا بیس شاید یک کمی سخت باشه.
من با روش بقیه دوستان یک چیزی نوشتم. البته تفاوت در اینه که گروه کاربری تعریف میشه و هر کاربر عضوی از یک گروه تعریف میشه.
برخلاف نظر آقا میثم من سطح دسترسی رو intتعریف کردم و 32 بیت خواهم داشت. بنابراین برای هر فرم 32 گزینه دارم و دستم برای اعمال محدودیت حتی برای edit کردن یک فیلد در فرم هم باز است.