MVC使用Controller代替Filter完成登录验证(Session校验)学习笔
发布时间:2016-11-23 23:12:41 所属栏目:MsSql教程 来源:站长网
导读:之前的学习中,在对Session校验完成登录验证时,通常使用Filter来处理,方法类似与前文的错误日志过滤,即新建Filter类继承ActionFilterAttribute类,重写OnActionExecuting方法,之后直接在需要验证的Action前加上Filter标记即可。 1. 新建登陆校验类Chec
之前的学习中,在对Session校验完成登录验证时,通常使用Filter来处理,方法类似与前文的错误日志过滤,即新建Filter类继承ActionFilterAttribute类,重写OnActionExecuting方法,之后直接在需要验证的Action前加上Filter标记即可。 1. 新建登陆校验类CheckLoginAttribute using System.Web.Mvc; namespace PMS.WebApp.Models { public class CheckLoginAttribute:ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (filterContext.HttpContext.Session == null || filterContext.HttpContext.Session["user"] == null) { filterContext.HttpContext.Response.Redirect("/User/Login"); } } } } 2. 在需要校验的Action增加标记以完成校验 using System.Web.Mvc; using PMS.IBLL; using PMS.WebApp.Models; namespace PMS.WebApp.Controllers { public class UserController : Controller { // // GET: /User/ //private IUserService _userService; //private IUserService UserService //{ // get { return _userService ?? (_userService = new UserService()); } // set { _userService = value; } / |