PDA

View Full Version : سوال: فعال / غير فعال كردن گروهي



Majid.Ebru
یک شنبه 09 آبان 1389, 14:35 عصر
با سلام
در بعضي از برنامه ها كاربر Admin مي تونه بعضي از كليد ها و يا ليبل ها و .... را براي بعضي از كاربران فعال / غير فعال كنه.
مثلاً مي خوام توي برنامه ام كليد "new" فقط براي كاربران خاص فعال باشه و كليد "edit" هم براي كاربران ديگه فعال باشه.
چه طور بايد اين كار رو انجام داد؟
با تشكر

Felony
یک شنبه 09 آبان 1389, 15:06 عصر
موقع اجراب برنامه بسته به نام کاربر وارد شده و دسترسی ها این کا رو انجام میدن ، مثلا یه یانک داری با 3 فیلد :

* نام کاربری
* رمز
* سطح دسترسی

وقتی کاربر نام کاربریش رو وارد کرد بسته به نام کاربریش سطح دسترسی رو بررسی کن و مثلا اگر سطح دسترسی 1 بود یعنی Admin و همه کنترل ها فعال ؛ اگر سطح دسترسی 2 بود یعنی منشی و مثلا دکمه نمایش فرم انبارداری غیر فعال ، اگر 3 بود ... و بسته به هر کدوم کنترل های روی فرمت رو فعال و غیر فعال کن .

راه کلی این هست ولی بسته به نیاز و تجربت میتونی بهینه تر و شخصی سازیش کنی ، مثلا وضعیت کنترل ها رو برای هر سطح دسترسی داخل بانکت نگهداری کنی و به Admin اجازه بدی که تو برنامه برای هر سطح دسترسی بتونه کنترل های مورد نظر رو فعال و غیر فعال کنه و ...

Majid.Ebru
یک شنبه 09 آبان 1389, 16:18 عصر
سلام
ممنون
نمي دونم آيا درست مي گيم يا نه :
از tag مربوط به هر كامپوننت ميشه براي اين كار استفاده كرد.
مثلاً به Tag همين مقاديري كه گفتيد رو بديم و موقعي كه فرم باز ميشه كامپوننت ها مقدار tag وارد شده رو با tag خودشون مقايسه كنن؟نمي دونم درست هست يا نه؟
ممنون

Felony
یک شنبه 09 آبان 1389, 17:41 عصر
گفتم که ، روش استانداردی برای این موضوع وجود نداره و روش کلی هم که ذکر کردم ، بسته به نیازتون میتونید هر جوری خواستید پیادش کنید .

Mahmood_M
یک شنبه 09 آبان 1389, 18:09 عصر
چند راه وجود داره ، یک اینکه از قبل چند تا سطح دسترسی درنظر گرفته باشید ، مثلا " مدیر " و " منشی " و " کاربر " !! ، با ثبت هرکدوم با توجه به نوع کاربری ( مدیر یا منشی یا کاربر ) مشخص هست که چه مواردی باید غیر فعال یا فعال بشن ، این روش بدیش اینه که محدودیت در نوع کاربرها دارید و درواقع سطح دسترسی ها کاملا Customizable نیست !
روش دیگه اینه که نوع کاربری از قبل تعیین شده نداشته باشید و با توجه به قسمتهای مختلف برنامه یک کاربر تعریف کنید ، اول باید یک جدول جدا برای ثبت مشخصات کاربران و سطح دسترسیشون در نظر بگیرید ، فرض کنید برنامه ی شما 5 قسمت به نامهای A - B - C - D - E داره ، توی جدولتون 5 فیلد مربوط به این قسمتها در نظر می گیرید ، وقتی کاربری قبت میشه مقادیر این 5 قسمت رو برای هر کاربر مشخص میکنید ، مثلا اگر برای کاربر M ، مقدار فیلد A برابر 0 ( یا False یا D یا F یا ... ! ) بود ، پس کاربر M نباید به قسمت A دسترسی داشته باشه ، و بر عکس و همینطور برای سایر قسمتهای برنامه ...
با این روش می تونید هر نوع سطح دسترسی ای ایجاد کنید ، فکر کنم تصویر زیر گویای این روش باشه :


http://mahmoodn.persiangig.com/image/admin.jpg
-----------------------------------------------------
http://mahmoodn.persiangig.com/image/user.jpg

برای فعال و غیر فعال کردن قسمتهای برنامه هم خودتون باید کامپوننتها رو Disable یا ... کنید و گرنه راهی برای اعمال تغییرات به صورت گروهی وجود نداره !

موفق باشید ...

firststep
یک شنبه 09 آبان 1389, 18:16 عصر
با سلام و خسته نباشید
من توی یک سیتستم از یه روش جالب که دیده بودم توی اتوماسیونهای بزرگ استفاده میشه یک پنجره ساخته میشه که توش یوزر پس میخواد
این پنجره بعد از زدن هر کلید اجرا می شه و از شما کد کاربری وپسورد اونو می خواد (درحقیقت تمامی عملیات های مهم و یا نمایش صفحات که قسط محافظت از ان راداریم را به وسیله action تعریف شدن ) و اون کلید ضمن نمایش پنجره پسورد sender خودش رو به پنجره می فرسته و پنجره با توجه به اسم دکمه می فهمه که شما چه عملیاتی رو مخواید(یه case بزرگ) و با توجه به دیتابیس کاربرانت می تونی دسترسی اونو چک کنه و action مورد نظر رو اجرا کنه پس از اینکه کد کاربر موطبر وارد بشه........:متفکر::لبخندساده::ت ویق: