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中我们就完成了登录验证了。。。。

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

  • 相关阅读:
    简析IGRP
    unicode字符集查找
    中国移动建成全球最大软交换网络 适合向3G过渡
    寻找端口与进程的关联
    framerelay
    网络工程师的素质
    E1通信的基础知识
    Indy UDP端口冲突解决
    『软考』接入网的分类
    随便写写。。
  • 原文地址:https://www.cnblogs.com/dzycwy/p/4038685.html
Copyright © 2011-2022 走看看