我正在尝试创建自己的[Authorize]属性,以便可以使用自己的授权逻辑来具有层次结构角色。
如果有人在 Controller 或 Action 上执行[Authorize(Roles = "Admin")]
如何在AuthorizeCore函数中获取字符串“Admin”?
我正在使用此代码:
public class Authorize : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
//authorize role logic
if (true)
return true;
return false;
}
}
MVC4,.net 4.5,C#,VS 2012
最佳答案
这是您遇到的常见问题。
此建议发布后应该在MVC4中起作用,因为它在MVC 3中起作用:-ASP.NET MVC - Alternative to Role Provider?
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
bool isAdmin;
if(Roles.Contains("Admin"))
isAdmin = true;
return isAdmin ;
}