PDA

View Full Version : سوال: پیاده سازی درست authorization در کنترلر های MVC



kahe.mehrdad
دوشنبه 24 فروردین 1394, 12:26 عصر
سلام.
من از یوزر منیجر خود MVC استفاده نکردم، و یک جدول یوزرز درون دیتابیس ساختم.
حالا قصد دارم تا بعضی از کاربر های با رول های مشخصشون را فقط به یک سری از کنترلر ها دسترسی بدم. اما حقیقتا نمیدونم چه شکلی باید از [Authorize] که در MVC استفاده میشه استفاده کنم.
اگر امکان داره راهنمایی کنید بنده رو. ممنونم.

niloo17
دوشنبه 24 فروردین 1394, 13:13 عصر
شما می تونید از CustomAttribute استفاده کنید که مثال های زیادی را تو اینترنت می تونید پیدا کنید.
برای نمونه


public class AuthorizeUserAttribute : AuthorizeAttribute
{
// Custom property
public string FormName { get; set; }

protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (!isAuthorized)
{
return false;
}

switch (FormName)
{

case "Course":
return GlobalVariables.IsAuthorizeCourse;
break;
case "DietTemplate":
return GlobalVariables.IsAuthorizeDietTemplate;
break;
case "Employee":
return GlobalVariables.IsAuthorizeEmployee;
break;
case "Minutes":
return GlobalVariables.IsAuthorizeMinutes;
break;
case "ReferredDiet":
return GlobalVariables.IsAuthorizeReferredDiet;
break;
default:
return false;
break;
}

}
}