我有这个自定义属性(自定义MVC授权):
public class CustomAuthorizeAttribute : AuthorizationFilterAttribute
{
public string Users { get; set; } //its always null!
public override void OnAuthorization(HttpActionContext actionContext)
{
string user = Thread.CurrentPrincipal.Identity.Name.Split('\\')[1];
AdProxy AdProxy = new AdProxy();
if (!AdProxy.IsUserInGroup(user, Users))
{
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
}
}
我这样用:
[CustomAuthorizeAttribute(Users = "Admin")]
但是在调试时,“Users”的值始终为null。 有什么想法吗?
答案 0 :(得分:1)
如果您使用.net Framework 4.5.1更改为4.5,它应该可以工作。
class CustomAuthorizeAttribute : AuthorizeAttribute
{
public string Users { get; set; }
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
}
}
答案 1 :(得分:0)
试试这个:
public class CustomAuthorizeAttribute : AuthorizeAttribute
{ ... }