62,241
社区成员




public override int PermissionID
{
get
{
return 22;
}
}
public class TestFilter : ActionFilterAttribute
{
public int PermissionID {set;get;}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//PermissionID
//这里进行权限验证(B点)
}
}
[TestFilter(PermissionID = 22)]
public class PermissionRequiredAttribute : FilterAttribute, IAuthorizationFilter
{
public int PermissionID { get; set; }
PermissionRequiredAttribute(int permissionID){ this.PermissionID = permissionID; }
}
[PermissionRequired(12345)]
public ActionResult About(){ }
public class PermissionRequiredAttribute : AuthorizeAttribute, IAuthorizationFilter
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
// 这里完成权限验证,不管是什么方法。
if (没有权限)
{
(A点)
filterContext.Result = new ActionResult();
// 返回一个ActionResult提示没有权限。
}
}
}
public class TestFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//这里进行权限验证(B点)
}
}
[TestFilter]
public ActionResult About()
{
return View();
}
public override int PermissionID
{
get
{
return 22;
}
}
filterContext.HttpContext.Request.Path
public class PermissionRequiredAttribute : AuthorizeAttribute, IAuthorizationFilter
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
// 这里完成权限验证,不管是什么方法。
if (没有权限)
{
filterContext.Result = new ActionResult(); // 返回一个ActionResult提示没有权限。
}
}
}
/// <summary>
/// URL授权类
/// </summary>
public class UrlAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext == null) throw new ArgumentNullException("filterContext");
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
return;
}
List<PermissionItem> systemPathTagCollection
= GetSystemPathTag(filterContext, filterContext.HttpContext.Request.Path);
if (!CanAccess(filterContext, systemPathTagCollection))
ShowError(filterContext, "没有权限访问该页面");
}
}