zoukankan      html  css  js  c++  java
  • 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             else
    18             {
    19                 this.LoginOut();
    20             }
    21 
    22             #endregion
    23         }
    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="/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中我们就完成了登录验证了。。。。

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

  • 相关阅读:
    mvn -v提示Permission denied
    JMeter生成HTML报告
    Python数据可视化神器pyecharts
    ThinkPHP 3.2.3 使用 Swift Mailer 邮件系统发送邮件
    qt的webkit
    Windows Driver Kit Version 7.1.0 ( 也就是 7600.16385.1 ) 下载地址
    erlang的调试配置
    emacs之开始就加载tag
    emacs之配置etags-select
    emacs之配置yasnippet
  • 原文地址:https://www.cnblogs.com/dzycwy/p/4038685.html
Copyright © 2011-2022 走看看