PDA

View Full Version : سوال: تعیین سطح دسترسی برای کاربر



dead-d3vil
شنبه 03 فروردین 1392, 19:07 عصر
چطور میشه که بعد از Login کردن یوزر ، برای هر کدوم یه سطح دسترسی متفاوت ایجاد کرد
و یه سری منابع رو از دید کاریر معمولی مخفی کرد ؟ اگر نیاز هست کد لاگین رو هم بزارم

zahedi121
یک شنبه 04 فروردین 1392, 06:44 صبح
سلام
عبارت "سطح دسترسی" را در همین بخش جستجو کنید خیلی در این خصوص بحث شده است.

خلاصه اش اینه که شما در هنگام لود فرمهاتون خصوصیت دیداری (visible ) یا ویرایشی کنترلهاتون را FALSE می کنید. یک نمونه سادش اینطوریه که در TAG کنترلهاتون 0 و 1 بگذارید حالا اگر کاربر admin وارد شد همه کنترلها دیده بشه و اگر کاربر معمولی فقط کنترلهایی که تگ اونها 0 هست . ( در هنگام لود فرم از دستور for each استفاده کنید) . ولی جستجو کنید روشهای مختلفی را پیدا خواهید کرد.

موفق باشید

djhooman
یک شنبه 04 فروردین 1392, 13:59 عصر
دوست عزیز zahedi121 ،

امکانش هست ( در هنگام لود فرم از دستور for each استفاده کنید برای TAG ) یه نمونه کدی بذارید ؟

من روی کنترل هایم در تگ ها از 0 ، 1 ، 2 برای سه نوع سطح کاربری وارد کردم ... حالا چجوری از for each استفاده کنم برای مقایسه مقدار TAG با فیلد سطح دسترسی که از جنس int توی بانک اطلاعاتی هست ؟

zahedi121
یک شنبه 04 فروردین 1392, 15:17 عصر
سلام
خب زحمت ریختن مقدار فیلد سطح دسترسی در متغیر "Dastrasi" باخودتون ( مثلا در فرم لاگین که میخواد پسورد را مقایسه کنه بیاد سطح دسترسی را هم در این متغیر ـ که Public تعریف شده است ـ بریزد یا در خود رویداد لود فرم اصلی یک جستجو بکنه . چون از سورستون بی خبرم با خودتون ). اگر برای همه کنترل ها تگ را مقدار دهی کرده باشید کدش این میشه :

For Each Control In Me.Controls
If Control.tag > Dastrasi Then
Control.visible = False
End If
Next

* واضح است که که سطح دسترسی از بالا به پایین کم می شود *
موفق باشید

mohsenaminzare
سه شنبه 06 فروردین 1392, 20:46 عصر
باسلام . برنامه من در فرم اصلی دارای منو هستش که گزینه هاش کلید میانبر داره مثلا ctrl + c حالا با disable یا visible = false کردن گزینه ها کلید میانبر ها هچنان فعال هستند ؟؟؟ چکار باید کنم

zahedi121
چهارشنبه 07 فروردین 1392, 07:13 صبح
سلام
برای منو خاصیت Enabled را می تونید false کنید. راههای دیگه ای هم هست ، همانطور که خدمت دوست گرامیمون گفتم یک جستجو بکنید.
موفق باشید.

amirsajjadi
چهارشنبه 07 فروردین 1392, 08:51 صبح
شما باید یک آرایه از بیت ها رو تعریف کنید و برای هر کدوم از بیت ها یک بخش رو اختصاص بدید به اینصورت مکان هر بیت رو چک کنید و اگر 0 بود یعنی عدم دسترسی و اگر 1 بود یعنی دسترسی کامل. حالا برای ذخیره کردن توی دیتابیس اون بیت ها رو تبدیل به عدد دهدهی کنید و بعد ذخیره کنید.
مثلا : 000
بیت اول مربوط به بخش خبرها - بیت دوم مربوط به بخش ارتباطات - بیت سوم مربوط به بخش تغییر پروفایل
حالا اگه عدد 5 رو توی دیتابیس ذخیره کنید یعنی 101 و به این معنی هست که کاربر به بخش ارتباطات دسترسی نداشته باشه.

من خودم توی چندتا برنامه از این روش استفاده کردم و خیلی راحت و خوب جواب میده.

dead-d3vil
چهارشنبه 07 فروردین 1392, 18:43 عصر
امکانش هست براتون که تو یه مثال جزئی اون رو نشون بدین ؟ مثلا دسترسی به دو بخش فقط

amirsajjadi
پنج شنبه 08 فروردین 1392, 00:16 صبح
امکانش هست براتون که تو یه مثال جزئی اون رو نشون بدین ؟ مثلا دسترسی به دو بخش فقط
مثلا عدد 2 تبدیل به باینری میشه 10 و حالا اگه جایگاه هر کاراکتر این کد باینری رو اختصاص بدیم به یک صفحه، میشه صفحه اول عدم دسترسی و صفحه دوم میشه دسترسی کامل.
نمیدونم تونستم منظورم رو بیان کنم یا نه ! :گیج:

dead-d3vil
پنج شنبه 08 فروردین 1392, 08:19 صبح
با عرض معذرت نه، بیشتر منظورم اینه که تو کد چجوری پیادش کنم

AliRezaBeytari
شنبه 10 فروردین 1392, 12:06 عصر
من یه برنامه در رابطه با همین موضوع نوشتم.ببین کارت راه می افته :
دانلود سورس (http://www.irfreeup.com/uploads/136463129797541.rar)