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

نام تاپیک: تشخیص چکباکس های چک شده در ASP.NET Core

  1. #1

    تشخیص چکباکس های چک شده در ASP.NET Core

    سلام.
    من سه تا جدول ویک ویومدل دارم با فیلدهای زیر
    Permissions : Id, Titl
    Roles : Id, Name
    RolePermissions : Id, RoleId, PermissionId
    RolePermissionViewModel : RoleName(string) m List<Permission>

    حالا میخوام تو ویو لیستی از Permission ها رو داشته باشم که به صورت چک باکس هستن
    بعد کاربر بتونه هرکدوم رو خواست تیک بزنه یا تیکش رو برداره، اونور هم توی اکشن برنامه م اینه که بیام همه Permission هایی که مال این RoleId هستن رو حذف کنم و دوباره Permission های انتخاب شده رو اینسرت کنم.
    تو ساخت ویو خوب من میام یک لیست کامل از جدول Permissions رو لود میکنم و با foreach میام input هایی از نوع چکباکس میذارم تا اینجا حله
    حالا میخوام اونهایی که از قبل آی دی شون توی جدول RolePermission واسه این رول وجود داره تیک بخوره، اینم فکنم بشه داخل خود ویو یه foreach دیگه بذارم که هر اینپوتی که داری میسازه اگر توی لیست RolePermissions بود تیک بزنه نبود نزنه
    حالا مشکل اصلی اینه که خوب کاربر اومدو تیک زد و تیکهایی روهم برداشت، میخوام بفرستم به اکشن و اونجام سیو کنم توی جدول RolePermissions اینجا باید چیکار کنم؟اصلا چه لیستی رو توی فرم باید سابمیت کنم و اونور چطور بهش دسترسی داشته باشم؟

  2. #2

    نقل قول: تشخیص چکباکس های چک شده در ASP.NET Core

    احتمالا مشکل شما اینطوری که من فهمیدم اینه که شما یه ۱۰ ایتم به طور مثال داری برای اولین بار ۵ ایتمش تخصیص داده شده است و سپس بعدا در زمان modifyمیخای بهش تغییرات اعمال کنی یکی از ۵ تا رو برداریو سه تا رو جدید اضافه کنی. این یعنی ۸ ایتم که ۴ ایتم در جای خود باقی میمونن و ۱ ایتم حذف میشه و ۳ ایتم اضافه میشه . شما این رو در زمان اپدیت باید انجام بدید و احتمالا بسته به repository‌شما ممکن هست هنگام commit‌کردن به خطا بخوری که در کانتکست شما این ریپوزیتوری نیست و از این قبل که معتبر سازی نمیکنه مقادیر رو . که شما باید این رو درست انجام بدی و شدنی هست. درنهایت شما این ایدی های permission‌رو در دیتابیس ذخیر ه میکند - یک راه دیگه ذخیره سازی شما اینه که وقتی به سمت بک اند رفتی باید تمام permission های مربوطه به این Role رو حذف کنید و سپس این موارد جدید رو که ۷ ها هستند رو مجدد جدید اضافه کنید یعنی هرباز پاک و ثبت به نوعی این موضوع مشکلی ندارد به هیچ وجه جز اینکه شما بخاین مثلا تاریخ اعمال این permission مثلا create date time اون براتون مهم باشه . (ارتباط شما بدرستی یک به چند هستش و چند به چند و یا اصطلاحا جانکشن نیست پس از شما توقع میره که کمی دقت کنی و خودت بیشتر بهش نگاه کنی متوجه میشی .) در هر صورت از اینکه permission base هم کار میکنی خوبه چون خیلی ها با Role base کار میکنند و این به تجربه شما اضافه میکند. موفق باشید

  3. #3

    نقل قول: تشخیص چکباکس های چک شده در ASP.NET Core

    ببخشید میشه توضیح بدین چه جوری به جای role با permission کار میکنید؟
    (منظورم اینه که چه جوری محدودیت ها دسترسی رو با این روش اعمال میکنید)
    اگر آموزشی هم در این زمینه دارید میشه اینجا بذارید؟
    من هم دقیقا این کار و باید انجام بدم اما پلنی براش ندارم.

  4. #4

    نقل قول: تشخیص چکباکس های چک شده در ASP.NET Core

    نقل قول نوشته شده توسط leilast مشاهده تاپیک
    ببخشید میشه توضیح بدین چه جوری به جای role با permission کار میکنید؟
    (منظورم اینه که چه جوری محدودیت ها دسترسی رو با این روش اعمال میکنید)
    اگر آموزشی هم در این زمینه دارید میشه اینجا بذارید؟
    من هم دقیقا این کار و باید انجام بدم اما پلنی براش ندارم.
    از این می تونی استفاده کنی
    [HttpGet]
    [Authorize(Policy=PermissionEnum.PERSON_LIST.ToString())]


    در نهایت این سایت ها رو ببین
    https://jacopretorius.net/2010/01/pe...p-net-mvc.html
    https://www.codeproject.com/Articles...BAC-in-ASP-NET
    https://stackoverflow.com/questions/...h-asp-net-core

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

  1. مخفی شدن پوشه های اضافه شده در asp.net mvc
    نوشته شده توسط ameir93 در بخش ASP.NET MVC
    پاسخ: 3
    آخرین پست: سه شنبه 18 آذر 1393, 08:08 صبح
  2. مشکل در اجرای برنامه های نوشته شده با asp.net
    نوشته شده توسط aminbrleevb در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: دوشنبه 07 بهمن 1387, 16:47 عصر
  3. مستند سازی برنامه های نوشته شده در VB.NET
    نوشته شده توسط jseyyedzadeh در بخش VB.NET
    پاسخ: 8
    آخرین پست: جمعه 03 آبان 1387, 02:50 صبح
  4. تشخیص زبان های نصب شده در ویندوز
    نوشته شده توسط sm4899 در بخش VB.NET
    پاسخ: 1
    آخرین پست: سه شنبه 03 مهر 1386, 12:08 عصر
  5. استفاده از یک dll که در vb6 ساخته شده در asp.net
    نوشته شده توسط yasamin57 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 21 خرداد 1386, 20:33 عصر

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

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