1.LoginActionAttribute类
public class LoginActionAttribute : ActionFilterAttribute
{
//判断是否是登录
public bool IsOk { get; set; }
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (IsOk)
{
return;
}
if (filterContext.HttpContext.Session["user"] == null)
{
filterContext.Result = new RedirectResult("登录页");
// filterContext.HttpContext.Response.Redirect("首页");
}
}
}
2.FilterConfig
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//全局过滤器
//filters.Add(new HandleErrorAttribute());
//给全局加自己写的特性(过滤器)
filters.Add(new LoginActionAttribute());
}
}
3.RouteConfig
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
4.Global
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
//AreaRegistration.RegisterAllAreas();
//RouteConfig.RegisterRoutes(RouteTable.Routes);
//FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
}
5.登录控制器
[LoginAction(IsOk = true)]