我自定义了Asp.Net的 授权 属性,但是当我将属性设置为方法时,我不知道如何获取我为属性设置的角色或班级
例如,我有这个CustomeAuthorizeAttribute
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class CustomeAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (HttpContext.Current.User.Identity.IsAuthenticated && HttpContext.Current.User.IsInRole("Super"))
{
return true;
}
else
return false;
}
}
但是当我将它们设置为像
这样的属性时,我不知道如何获得角色[CustomeAuthorizeAttribute(角色="管理员,超级管理员&#34)]
答案 0 :(得分:0)
默认情况下,它会从基本 授权 类中隐藏Roles属性,因此您可以使用Roles属性直接获取角色
例如
if (HttpContext.Current.User.Identity.IsAuthenticated && HttpContext.Current.User.IsInRole(Roles))
{
return true;
}
或者您创建属于自定义Authorization属性的新属性并使用它们。