ورود

View Full Version : role manager



jamal_ch
چهارشنبه 07 مهر 1395, 13:08 عصر
سلام دوستان کسی در زمینه اینکه هر رول به چه ویو های دسترسی داشته باشه کار کرده یعنی مدیر بتونه سطح دسترسی تعریف کنه ولیست ویو ها بهش نشون داده بشه وانتخاب کنه که هر رول به چه ویو هایی دسترسی داشته باشه


تذکر از identity 2 استفاده کردم
با تشکر و احترام

parsdarab
چهارشنبه 07 مهر 1395, 13:12 عصر
رول معمولا به کاربر داده میشه نه ویو

jamal_ch
چهارشنبه 07 مهر 1395, 14:13 عصر
شما درست میگی دوست عزیز شاید نتونستم درست بیان کنم
من منظورم این بوده که هنگام تعریف رول مشخص کنیم هر رول به چه ویو هایی دسترسی داره و
وقتی
اون رول رو به کاربر اختصاص دادیم ویو هایی که مجوز داره (تو قسمت رول مشخص کردیم ) ببینه

jamal_ch
چهارشنبه 07 مهر 1395, 14:17 عصر
شما درست میگی دوست عزیز شاید نتونستم درست بیان کنم
من منظورم این بوده که هنگام تعریف رول مشخص کنیم هر رول به چه ویو هایی دسترسی داره و
وقتی
اون رول رو به کاربر اختصاص دادیم ویو هایی که مجوز داره (تو قسمت رول مشخص کردیم ) ببینه
به عبارتی هنگام تعریف رول مشخص میکنیم کسی که این رول رو داشته باشه میتونه به کجاهای سایت ( ویو )دسترسی داشته باشه

Moien Tajik
چهارشنبه 07 مهر 1395, 15:20 عصر
بالاترین سطح دسترسی در Identity تا الان Role ها هستن اما چیزی شما میخواید تقریبا بصورت Permission هستش که per page برای کاربر دسترسی بررسی بشه .
برای ساخت Permission شما به یک Custom Attribute نیاز دارید که اون رو در بالای Action های خودتون قرار بدید .
این آموزش ها ساخت Custom Attribute برای Permission هارو آموزش میدن :
http://www.dotnettricks.com/learn/mvc/custom-authentication-and-authorization-in-aspnet-mvc
http://stackoverflow.com/a/30366921
http://stackoverflow.com/a/33100062

Dream8
چهارشنبه 07 مهر 1395, 15:23 عصر
برای هر کنترلر یا اکشنی که میخواهید سطح دسترسی تعیین شود کافیست مانند زیر عمل کنید:

[Authorize(Roles = "Admin")]
}{ public ActionResult Index()

Dream8
چهارشنبه 07 مهر 1395, 15:27 عصر
همچنین اگر بخواهید در یک اکشن برای مثلا دو نقش کاربری متفاوت اعمال متفاوتی اجام دهید میتوانید مانند زیر عمل کنید.


if (Request.IsAuthenticated)
}
( if (User.IsInRole("X"))
{}
else if (User.IsInRole("Y"))

{

hakim22
چهارشنبه 07 مهر 1395, 20:30 عصر
شما برای هر ویویی یک رول جدا تعریف کنید. بعد دسترسی کاربر رو به اون رول یا ویو بدید. مثلا شما برای ویرایش مشخصات یک کاربر میخواهید دسترسی تعیین کنید. یک رول به نام UserEdit ایجاد کنید. بعد مانند مثالی که دوستان زدند از Authorize استفاده کنید. در واقع نباید یک سمت کلی مانند Admin یا Developer و امثال آن تعریف کنید. روش بهتر (و ایمن تر) این است که برای هر اکشن یا کنترلر که یک دسترسی خاص نیاز دارد سمت جدا تعریف کنید. یک کاربر می تواند دو یا چند سمت داشته باشد. مثلا ادمین می تواندهمه ی سمتها را داشته باشد.

jamal_ch
پنج شنبه 08 مهر 1395, 09:17 صبح
چیزی که من میخوام اینه که هنگام تعریف رول میگی که به کدوم اکشن ها دسترسی دارد هر کسی که این رول را داشته باشد
کاملا داینامیک
هنگام تعریف رول جاهایی رو که یک کاربری که این رول رو داره مشخص میکنیم
به اصطلاح چه ویو ها و چه پارشیال هایی ؟

jamal_ch
شنبه 10 مهر 1395, 07:18 صبح
سلام جواب سوال رو پیدا کردم اینم مقاله و نمونه کد
http://fa.mohsen.es/post/3/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%AF%DB%8C%D9%86%D8%A7%D9%85%DB%8C%DA%A9-%D8%B3%D8%B7%D9%88%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%AF%D8%B1-asp-net-mvc-5-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-asp-net-identity-2

parsdarab
شنبه 10 مهر 1395, 11:07 صبح
سلام جواب سوال رو پیدا کردم اینم مقاله و نمونه کد
http://fa.mohsen.es/post/3/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%AF%DB%8C%D9%86%D8%A7%D9%85%DB%8C%DA%A9-%D8%B3%D8%B7%D9%88%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%AF%D8%B1-asp-net-mvc-5-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-asp-net-identity-2

خسته نباشی