zoukankan      html  css  js  c++  java
  • 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认证的基本用户就这样,本人文采不好,下次继续努力。

  • 相关阅读:
    rsync命令详解
    Android Studio手动下载配置Gradle的方法
    "standard,singleTop,singleTask,singleInstance"-Android启动模式
    "Activity" 总结
    Android应用开发完全退出程序的通用方法
    SVN服务器使用(一)
    使用PyInstaller打包Python程序
    py2exe把python程序转换exe
    python 下载安装setuptools及pip应用
    Python的库和资源(转)
  • 原文地址:https://www.cnblogs.com/searchbaidu/p/5821220.html
Copyright © 2011-2022 走看看