首页 > 代码库 > mvc中利用Attribute特性来进行进行简单的登陆验证

mvc中利用Attribute特性来进行进行简单的登陆验证

前段时间一直比较忙。好不容易忙完。闲的没事干,就捣腾了下mvc(ef),因为以前都是用三层框架来进行开发,mvc用的也不是很多。。。众所周知,在三层里面我们一般都是建一个基类,然后在基类里面写验证登录方法,然后在需要验证登录的页面继承这个基类即可。。。但到了mvc里面所有的视图页面的操作都转移到了控制器了。。这个时候我们在按照三层的方式建一个基类来继承验证登录,就没办法走通了。。。今天我就给大家来展示一个利用Attribute特性来验证登录。如果还有不知道这个东东的,可以百度一下Attribute。

首先我们建一个BaseAdminPage.cs的基类

 1 public class BaseAdminPage : AuthorizeAttribute 2     { 3         public Admin_SysUser base_SysUser = new Admin_SysUser(); 4  5         public override void OnAuthorization(AuthorizationContext filterContext) 6         { 7             #region 检查是否登录 8  9             Admin_SysUser su = new Admin_SysUser();10             if (CookieManage.CheckSysUserIsLoginValid(out su))11             {12                 su.LastLoginDate = DateTime.Now;13                 UserManage<Admin_SysUser>.UpdateAdminSysUser(su);14 15                 this.base_SysUser = su;16             }17             else18             {19                 this.LoginOut();20             }21 22             #endregion23         }24         /// <summary>25         /// 退出运营支持系统26         /// </summary>27         protected void LoginOut()28         {29             CookieManage.ClearSysUserLoginCookie();30             HttpContext.Current.Response.Write("<script type=\"text/javascript\">window.parent.location.href=http://www.mamicode.com/"/AdminManage/Login\";</script>");31         }32     }

基类继承AuthorizeAttribute这个特性

然后我们在通过重写

特性中OnAuthorization这个方法来实现验证登录
到了这一步我们完成基类登录验证。。那么我们如何来调用它呢。。
接下来我们添加一个名为SysUserController的控制器
如果我们只要单个操作进行登录验证时,那么我们只需要如下代码所示
public class SysUserController : Controller    {        //        // GET: /SysUser/        [Controls.BaseAdminPage]//        public ActionResult Index()        {            return View();        }    }

  如果整个控制器需要验证登录,那么我们只需要把代码稍作修改,如下

 1 [Controls.BaseAdminPage] 2     public class SysUserController : Controller 3     { 4         // 5         // GET: /SysUser/ 6         public ActionResult Index() 7         { 8             return View(); 9         }10 11     }

至此在mvc中我们就完成了登录验证了。。。。

方法写的比较简单。在此望各位见谅。。。

mvc中利用Attribute特性来进行进行简单的登陆验证