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

نام تاپیک: تعیین سطح دسترسی به روش LINQ

  1. #1

    تعیین سطح دسترسی به روش LINQ

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

    Untitled-1.jpg

  2. #2

    نقل قول: تایین سطح دسترسی در سیشارپ به روش لینک

    سلام جدولتون صحیح هستش و باید برای دسترسی های موردنظر یه فیلد درنظر بگیرید از نوع bit.
    یه پروسیجر بصورت رفرنسی بنویسید تا مقداری که توسط سی شارپ پاس داده میشه رو از جدول چک کنه و مقدار فیلدهارو برگردونه (همون true , false ها).
    درنهایت با if میتونید بخش های مختلف رو فعال و غیرفعال کنید.
    کد های نمونه برای پروژه خودم :
    پروسیجر:

    CREATE PROCEDURE [dbo].[GetUserPermission]
    @UserId INT,
    @Depot BIT OUTPUT,
    @Bank BIT OUTPUT,
    @Factor BIT OUTPUT,
    @Person BIT OUTPUT,
    @Setting BIT OUTPUT,
    @User BIT OUTPUT
    AS
    BEGIN
    SET @Depot = (SELECT DepotPermission FROM Roles WHERE RoleId IN (SELECT RoleId FROM Users WHERE UserId=@UserId))
    SET @Bank = (SELECT BankPersmission FROM Roles WHERE RoleId IN (SELECT RoleId FROM Users WHERE UserId=@UserId))
    SET @Factor = (SELECT FactorPermission FROM Roles WHERE RoleId IN (SELECT RoleId FROM Users WHERE UserId=@UserId))
    SET @Person = (SELECT PersonPermission FROM Roles WHERE RoleId IN (SELECT RoleId FROM Users WHERE UserId=@UserId))
    SET @Setting = (SELECT SettingPermission FROM Roles WHERE RoleId IN (SELECT RoleId FROM Users WHERE UserId=@UserId))
    SET @User = (SELECT UserPermission FROM Roles WHERE RoleId IN (SELECT RoleId FROM Users WHERE UserId=@UserId))
    END


    کدهای سی شارپ:

    bool? Depot = false;
    bool? Bank = false;
    bool? Factor = false;
    bool? Person = false;
    bool? Setting = false;
    bool? User = false;

    dc.GetUserPermission(UserId, ref Depot, ref Bank, ref Factor, ref Person, ref Setting, ref User);
    if (Setting)
    {
    btnSettings.Enabled = true;
    btnTax.Enabled = true;
    }
    else
    {
    btnSettings.Enabled = false;
    btnTax.Enabled = false;
    }
    if (User)
    {
    btnUsers.Enabled = true;
    btnRoles.Enabled = true;
    }
    else
    {
    btnUsers.Enabled = false;
    btnRoles.Enabled = false;
    }


    if (Depot)
    {
    btnDepot.Enabled = true;
    btnInOut.Enabled = true;
    btnStock.Enabled = true;
    btnMovment.Enabled = true;
    }

  3. #3

    نقل قول: تعیین سطح دسترسی به روش LINQ

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

  4. #4
    کاربر دائمی آواتار omid nasri
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران - کارگر شمالی
    پست
    385

    نقل قول: تعیین سطح دسترسی به روش LINQ

    خیلی ساده بگم آیدی کاربر جاری رو پیدا کن و از جدول مربوطه اون رکورد رو بخون، در نهایت شرط برسی رو بزار که اگر entity جاری فیلد p4 مقدار true بود دکمه اون فرم نمایش داده بشه یا ...
    برای برسی عدم اعمال شرط بر روی ادمین یک کلید بساز موقع پیدا کردن کاربر جاری شرط ادمین رو با استفاده از کلید مشخص کن که ادمین بود شرط ها روش اعمال نشه.
    db.tblLogin.Find(id)

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

  1. نمونه برنامه برای تعیین سطح دسترسی به فرم ها
    نوشته شده توسط barname_m708 در بخش Access
    پاسخ: 10
    آخرین پست: دوشنبه 04 آبان 1394, 12:40 عصر
  2. چگونگی تعیین سطح دسترسی به کاربران
    نوشته شده توسط i3ooter در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: شنبه 07 دی 1392, 14:08 عصر
  3. سوال: تعیین سطح دسترسی به یه فولدر
    نوشته شده توسط omidh2007 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: سه شنبه 24 آبان 1390, 18:46 عصر
  4. تعیین سطح دسترسی به فایل توسط تب Security ویندوز
    نوشته شده توسط Mask در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 5
    آخرین پست: دوشنبه 15 فروردین 1390, 21:08 عصر
  5. تعیین سطح دسترسی به جدول sql
    نوشته شده توسط linux در بخش VB.NET
    پاسخ: 22
    آخرین پست: یک شنبه 14 اسفند 1384, 01:36 صبح

برچسب های این تاپیک

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

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