PDA

View Full Version : حرفه ای: نمونه برنامه برای دسترسی به فرم ها



zohre66
جمعه 27 مرداد 1391, 20:05 عصر
سلام خدمت همه دوستان
من دنبال یه روشی می گردم که بتونم یه دسترسی برای کاربرانی که وارد نرم افزارم می شن داشته باشه به طور مثال کسی که مدیر هست به تمامی فرم های دسترسی دارد اما ما بقی کاربران که توسط مدیر دسترسی برایشان مشخص میشه فقط به تعداد خاصی از فرم ها دسترسی دارند یعنی بعضی فرم هابرایشان قابل روئیت نباشد و بعضی قابل ویرایش نباشد و ترکیبی از این دو
ممنون میشم اگر با یه نمونه برنامه و یا روشی ساده و منطقی راهنمایم کنید

ehsan7007
جمعه 27 مرداد 1391, 20:09 عصر
می تونی دو نوع فرم درست کنی : یکی برای مدیرو دیگری برای کاربران .
بعد بگی اگه با یوزرنیم مدیر امد فرم مدیر اما اگر با یوزرنیم کاربر اومد فرم کاربر رو نشون بده.

ehsan7007
جمعه 27 مرداد 1391, 20:13 عصر
البته اگه حجم کارت زیاد باشه این شیوه به درد نمی خوره و باید یکم بیشتر کد نویسی کنی و فرم ها و کنترل هایی که با یوزر کاربر وارد می شن رو مخفی کنی.
کار سختی نیست.

saman_h
جمعه 27 مرداد 1391, 20:28 عصر
دوست عزیز خیلی سادست
شما کافیه یه فیلد داشته باشی که True / False باشه یا اینکه بجاش 0 و 1 بذاری . اونوقت قبل از باز شدن فرم ها یه شرط بذاری که اگه صفر بود ( یعنی مدیر هست ) و فرم باز بشه و اگه یک بود ( یعنی کاربر عادی است ) و فرم باز نشه یا مثلا یه کنترل رو غیر فعال کنی ( Enable = False ) بشه .
بهترین و کم دردسر ترین روش همینه . با این کار به اصطلاح سطخ دسترسی درست میکنی و همه جای برنامت میتونی ازش استفاده کنی و نیاز به کدنویسی زیاد و یا ساخت فرم های مکرر نیستی ، فقط هربار یه شرط رو باید بذاری .
تازه اگه زرنگ باشی با 1 بار چک کردن شرط میتونی کارتو راه بندازی و تمام بخش هایی که قراره باز نشه یا غیر فعال باشه رو تنظیم کنی
موفق باشی

veniz2008
جمعه 27 مرداد 1391, 21:36 عصر
سلام. راه اصولیش اینه : باید یه جدول برای سطح دسترسی درست کنید و برای تمام منوهایی که میتونه محدود بشه باید فیلد توی اون جدول درست کنی و نوع متغیرها رو از نوع bool یا bit بگیر. مثلا فرض کن که 7 تامنو داری که ممکنه 1 یا چندتا از این منوها برای کاربر غیرفعال باشه. حالا شما در اون جدولی که گفتم باید نام کاربری و هفت فیلد برای 7 منو ایجاد کنی ( مثلا m1 تا m7 ). و برای هر کاربر وضعیت منوها رو مشخص میکنی ( مثلا trueیا false یا 0 و 1 ). موقع ورود کاربر این جدول رو برای اون کاربر میکشی بیرون و میریزی تو یه دیتاتیبل. حالا با کد زیر وضعیت تک تک منوها رو مشخص میکنی:

menu1.enabled = convertToboolean(dt.Rows[0][[1]);
menu2.enabled = convertToboolean(dt.Rows[0][[2]);
.
.
.
menu7.enabled = convertToboolean(dt.Rows[0][[7]);
موفق باشی دوست عزیز.

zohre66
شنبه 28 مرداد 1391, 08:20 صبح
از همه دوستانی که من رو راهنمایی کردند ممنونم
اما فکر می کنم منظورم را متوجه نشدید من تقریبا همون کاری کردم که mohammaddou (http://barnamenevis.org/member.php?155296-mohammaddou) فرمودند برای همه فرم ها یه فیلد تو دیتابیس تعریف کردم و مقدارش رو 0،1،2 گذاشتم به معنی خواندنی ، نوشتنی ، خواندنی و نوشتنی ، اما مشکل من در حال حاضر اینکه وقتی یه مدیر میخواد سطح دسترسی رو برای کاربرهایی دیگه مشخص کنه براش یه فرمی باز میشه که که تمامی نام فرم ها هست به اضافه اینکه قابل روئیت و یا ویرایش هستند رو تیک دار میکنه اما یه مقدار کارم به این شکل سخت میشه من میخوام این فرم یه حالت دینامیک داشته باشه و من دیگه دستی نام فرم و بقیه چیزها رو بهش ندم خودش مستقیم از دیتابیس بخونه و بیاره و فرم هم یه جور حالت دینامیک باشه که زیاد هم بزرگ نشه (فرم های من زیاد هستند)
با موفقیت روز افزون برای تمامی برنامه نویسان