csharp AuthorizeAttribute过滤器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp AuthorizeAttribute过滤器相关的知识,希望对你有一定的参考价值。
//AuthorizeAttribute的OnAuthorization方法内部调用了AuthorizeCore方法
//这个方法是实现验证和授权逻辑的地方,如果这个方法返回true,
//表示授权成功,如果返回false, 表示授权失败
//会给上下文设置一个HttpUnauthorizedResult,这个ActionResult执行的结果是向浏览器返回
public class CheckLoginAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
bool Pass = false;
if (!CheckLogin.AdminLoginCheck())
{
httpContext.Response.StatusCode = 401;//无权限状态码
Pass = false;
}
else
{
Pass = true;
}
return Pass;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
base.HandleUnauthorizedRequest(filterContext);
if (filterContext.HttpContext.Response.StatusCode == 401)
{
filterContext.Result = new RedirectResult("/");
}
}
}
以上是关于csharp AuthorizeAttribute过滤器的主要内容,如果未能解决你的问题,请参考以下文章
扩展AuthorizeAttribute
自定义AuthorizeAttribute
创建 AuthorizeAttribute - 我需要知道啥?
自定义AuthorizeAttribute未实现
如何绕过 System.Web.Http.AuthorizeAttribute.IsAuthorized
仅针对一项操作覆盖控制器 AuthorizeAttribute