利用篩選器判斷是否登入
阿新 • • 發佈:2018-12-19
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MonkeyBlog.Filters { public class IsLoginFilter:ActionFilterAttribute { // 摘要: // 在執行操作方法後由 ASP.NET MVC 框架呼叫。 // // 引數: // filterContext: // 篩選器上下文。 public override void OnActionExecuted(ActionExecutedContext filterContext) { } // // 摘要: // 在執行操作方法之前由 ASP.NET MVC 框架呼叫。 // // 引數: // filterContext: // 篩選器上下文。 public override void OnActionExecuting(ActionExecutingContext filterContext) { //得到操作方法的名稱 string action = filterContext.ActionDescriptor.ActionName; //得到控制器名稱 string controllername = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; //得到網完整路徑 string url = filterContext.HttpContext.Request.RawUrl; //判斷是否在登陸頁面 if (action.ToLower() == "home" && controllername.ToLower() == "index") { return; } else { //判斷是否存在session(是否登陸成功) if (filterContext.RequestContext.HttpContext.Session["ULogin"]==null) { filterContext.Result = new RedirectResult("/home/index"); } } } } }