1.首先繼承抽象類ActionFilterAttribute,從新OnActionExecuting方法,該方法在訪問Action前執行ide
public class MvcActionFilterAttribute : ActionFilterAttribute
{
public bool isCheck { get; set; }url
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);繼承
if (isCheck)
{
var str = "登陸";
if (!string.IsNullOrEmpty(str))
{
var url = filterContext.HttpContext.Request.Url;//獲取當前所在頁面的URL
//跳轉到登陸頁面並把當前所在頁面的URL當作參數傳到登陸頁面
filterContext.Result = new RedirectResult(url.ToString());
}
}
}
}get
2.在須要過濾器的Action或者Controller上聲明過濾器,該方法設置爲falsestring
[MvcActionFilter(isCheck = false)]
public ActionResult Index()
{
return View();
}io
3.須要設置全局過濾器,在App_Start->FilterConfig下RegisterGlobalFilters方法中添加如下代碼class
filters.Add(new MvcActionFilterAttribute() { isCheck = true });//添加登陸驗證過濾器登錄