• mvc 3 Mvc 4 使用Forms 登录验证随笔一


    前言

    本人虽然做 .Net 也有五年有余,可是没什么大才,总是干些打杂的活,技术很少差劲呀。以前不管是做内部管理系统,还是企业平台,保存用户登录信息用的都是Session,也许是从一开始就接触Session 用习惯了吧!最近几个项目发现都用Forms 验证 通过登录信息,输出到客户端Cookie中,我也研究了一下。

    一:Mvc3 4 中 Forms验证代码

    1.1 方式一 用的比较多的一种

                //用户数据信息
                string userData = string.Format("{0}|{1}", "zhangsan", "1");
                //生成一个认证票据
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
                  "zhangsan",
                  DateTime.Now,
                  DateTime.Now.AddHours(1),
                  true,
                  userData);
                //加密票据
                string enTicket = FormsAuthentication.Encrypt(ticket);
                //生成Cookie 输入到客户端
                HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, enTicket);
                //authCookie.Expires = DateTime.Now.AddHours(1);
                Response.Cookies.Add(authCookie);

    注意:FormsAuthentication.FormsCookieName  读取的是配置文件中<forms name="">中name的名称,如果不配置文件中不设置name 默认为.ASPXAUTH

    1.2 方式二 比较简洁 如果不需要保存用户信息的话,可以选择这种方式

    FormsAuthentication.SetAuthCookie("zhangsan",true);
    
    // 这种方式是微软自己封装的一种简便方法
    

    二:Web.Conifg 中配置验证模式认证模式

        <authentication mode="Forms">
          <forms name=".ASPXAUTH" loginUrl="/User/Login" timeout="2880"  />
        </authentication>
    

      mode:设置为Forms 

         注意:name=".ASPXAUTH"    这个名字是生成Cookie 时的名字,可以设置为任何名字,但是切记两头不要包含空格,我就吃过他的亏,导致一直验证不通过。

       Forms认证的基本用户就这样,本人文采不好,下次继续努力。

  • 相关阅读:
    HDOJ 2076 夹角有多大(题目已修改,注意读题)
    HDOJ 2058 The sum problem
    HDOJ 2099 整除的尾数
    HDOJ 2075 A|B?
    HDOJ 2071 Max Num
    HDOJ 2056 Rectangles
    HDOJ 2055 An easy problem
    HDOJ 2053 Switch Game
    HDOJ 2052 Picture
    P4139 上帝与集合的正确用法
  • 原文地址:https://www.cnblogs.com/searchbaidu/p/5821220.html
Copyright © 2020-2023  润新知