mvc中利用Attribute特性来进行进行简单的登陆验证
2014-10-20 20:47
218 查看
前段时间一直比较忙。好不容易忙完。闲的没事干,就捣腾了下mvc(ef),因为以前都是用三层框架来进行开发,mvc用的也不是很多。。。众所周知,在三层里面我们一般都是建一个基类,然后在基类里面写验证登录方法,然后在需要验证登录的页面继承这个基类即可。。。但到了mvc里面所有的视图页面的操作都转移到了控制器了。。这个时候我们在按照三层的方式建一个基类来继承验证登录,就没办法走通了。。。今天我就给大家来展示一个利用Attribute特性来验证登录。如果还有不知道这个东东的,可以百度一下Attribute。
首先我们建一个BaseAdminPage.cs的基类
基类继承AuthorizeAttribute这个特性
然后我们在通过重写
如果整个控制器需要验证登录,那么我们只需要把代码稍作修改,如下
至此在mvc中我们就完成了登录验证了。。。。
方法写的比较简单。在此望各位见谅。。。
首先我们建一个BaseAdminPage.cs的基类
public class BaseAdminPage : AuthorizeAttribute { public Admin_SysUser base_SysUser = new Admin_SysUser(); public override void OnAuthorization(AuthorizationContext filterContext) { #region 检查是否登录 Admin_SysUser su = new Admin_SysUser(); if (CookieManage.CheckSysUserIsLoginValid(out su)) { su.LastLoginDate = DateTime.Now; UserManage<Admin_SysUser>.UpdateAdminSysUser(su); this.base_SysUser = su; } else { this.LoginOut(); } #endregion } /// <summary> /// 退出运营支持系统 /// </summary> protected void LoginOut() { CookieManage.ClearSysUserLoginCookie(); HttpContext.Current.Response.Write("<script type=\"text/javascript\">window.parent.location.href=\"/AdminManage/Login\";</script>"); } }
基类继承AuthorizeAttribute这个特性
然后我们在通过重写
特性中OnAuthorization这个方法来实现验证登录 到了这一步我们完成基类登录验证。。那么我们如何来调用它呢。。 接下来我们添加一个名为SysUserController的控制器 如果我们只要单个操作进行登录验证时,那么我们只需要如下代码所示
public class SysUserController : Controller { // // GET: /SysUser/ [Controls.BaseAdminPage]// public ActionResult Index() { return View(); } }
如果整个控制器需要验证登录,那么我们只需要把代码稍作修改,如下
[Controls.BaseAdminPage] public class SysUserController : Controller { // // GET: /SysUser/ public ActionResult Index() { return View(); } }
至此在mvc中我们就完成了登录验证了。。。。
方法写的比较简单。在此望各位见谅。。。
相关文章推荐
- asp.net 利用特性和正则表达式进行字段的验证(attribute)
- 利用servlet进行简单的登陆验证
- 利用特性(Attribute)对实体类进行验证
- 利用特性(Attribute)对实体类进行验证
- mvc 4 ActionFilterAttribute 特性,进行权限验证
- 利用特性(Attribute)对实体类进行验证
- 利用ASIHTTPRequest 实现一个简单的登陆验证
- Mvc示例之三——用Filter进行简单身份验证
- 三层架构(MVC)实现简单登陆注册验证(含验证码)
- 【MVC】使用Servlet 作为控制器实现一个简单的登陆验证
- MVC简单登陆验证
- Attribute有啥用~MVC中标准的用户登陆验证
- 【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证
- 【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证
- 【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证
- 如何利用扩展方法来链式的对MVC 3中的页面进行验证
- Asp.net MVC利用Ajax.BeginForm实现bootstrap模态框弹出,并进行前段验证
- 【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证
- MVC3学习第十一章 葵花点穴手之隔空点穴----MVC3下利用EF和LINQ进行简单的多表联查、排序以及在Razor视图中调用自定义类
- ASP.NET MVC 利用ActionFilterAttribute来判断用户是否登陆等等