mmbguide
یک شنبه 23 بهمن 1401, 21:10 عصر
سلام دوستان
فرض کنید حدود 10 تا صفحه دارم که در تمام 10 صفحه امکاناتی جهت انجام عملیات Add, Delete, Edit, Print, Report و... وجود داره.
در حالت عالی می خوام برای گروهی از کاربران امکان Print را فراهم کنم و برای گروه دیگه خیر. اما نمیخوام که این قابلیت سراسری باشه.
مثلا کاربر A بتونه تو 3 صفحه امکان Print داشته باشه و در مابقی صفحات نداشته باشه.
همچنین امکان این وجود داشته باشه که مدیر برنامه در لحظه سطح دسترسی را تغییر بده.
سوال:
چطور میشه با Identity و Claim این شرایط را فراهم کرد؟ آیا باید به ازای تمام Controllerها و متدهایی که در برنامه وجود داره برای کاربر یک Claim ایجاد کنم؟
در دوره آموزشی مهندس کرامتی این موضوع در Net Framework با ستفاده از پیاده سازی یک سیستم سفارشی انجام شده بود که برنامه یکبار یک لیست جامع از تمام Controllerها و متدها ایجاد میکرد و مدیر برنامه میتونست به هر کاربر هر متدی را تخصیص بده و تمام Requestهای برنامه با استفاده از ActionFilter بررسی میشدند که ایا متد جاری به کاربر در بانک اطلاعاتی تخصیص داده شده است یا خیر و اگر وجود نداشت پاسخ AccessDenied ارسال میشد. خوبی این روش این بود که در لحظه میشد دسترسی کاربران تغییر داد و نیازی به ویرایش کدهای برنامه به منظور تعیین Roleها نبود و قطعا نیازی هم نبود که برنامه یکبار build بشه و دوباره بارگذاری بشه.
با توجه به موارد بالا چطور میشه با Identity چیزی مشابه مورد بالا را پیاده سازی کرد؟ در واقع بدون ویرایش کدها میخوام در لحظه دسترسی به یک کاربر را اضافه و یا کم کنم.
تشکر
فرض کنید حدود 10 تا صفحه دارم که در تمام 10 صفحه امکاناتی جهت انجام عملیات Add, Delete, Edit, Print, Report و... وجود داره.
در حالت عالی می خوام برای گروهی از کاربران امکان Print را فراهم کنم و برای گروه دیگه خیر. اما نمیخوام که این قابلیت سراسری باشه.
مثلا کاربر A بتونه تو 3 صفحه امکان Print داشته باشه و در مابقی صفحات نداشته باشه.
همچنین امکان این وجود داشته باشه که مدیر برنامه در لحظه سطح دسترسی را تغییر بده.
سوال:
چطور میشه با Identity و Claim این شرایط را فراهم کرد؟ آیا باید به ازای تمام Controllerها و متدهایی که در برنامه وجود داره برای کاربر یک Claim ایجاد کنم؟
در دوره آموزشی مهندس کرامتی این موضوع در Net Framework با ستفاده از پیاده سازی یک سیستم سفارشی انجام شده بود که برنامه یکبار یک لیست جامع از تمام Controllerها و متدها ایجاد میکرد و مدیر برنامه میتونست به هر کاربر هر متدی را تخصیص بده و تمام Requestهای برنامه با استفاده از ActionFilter بررسی میشدند که ایا متد جاری به کاربر در بانک اطلاعاتی تخصیص داده شده است یا خیر و اگر وجود نداشت پاسخ AccessDenied ارسال میشد. خوبی این روش این بود که در لحظه میشد دسترسی کاربران تغییر داد و نیازی به ویرایش کدهای برنامه به منظور تعیین Roleها نبود و قطعا نیازی هم نبود که برنامه یکبار build بشه و دوباره بارگذاری بشه.
با توجه به موارد بالا چطور میشه با Identity چیزی مشابه مورد بالا را پیاده سازی کرد؟ در واقع بدون ویرایش کدها میخوام در لحظه دسترسی به یک کاربر را اضافه و یا کم کنم.
تشکر