美文网首页
2017-12-13 表单验证

2017-12-13 表单验证

作者: Far_well | 来源:发表于2020-04-28 15:37 被阅读0次

    表单验证整理

    #region Form 表单验证
                //第一种方法  第一个参数对应第二种方法 票据中的第二个参数
                //FormsAuthentication.SetAuthCookie(UserInfo.NetId, true);
                //第二种方法  可以多存放一个UserData (一般可以用来存放Role信息)
                //1. 生成Ticket
                FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(
    1,  //Version
    UserInfo.NetId, //用户关键信息
    DateTime.Now, //Cookie发起时间 
    DateTime.Now.AddHours(2), //Cookie有效期
    true, //Cookie是否持久
    UserInfo.DisplayName // USERDATA 可以自定义
    );
                //2.生成Cookie  FormsAuthentication.Encrypt(Ticket)  对Ticket加密,   FormsAuthentication.FormsCookieName ==Webconfig中name=.ASPXAUTH 
                HttpCookie Cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(Ticket));
                //3.设置Cookie有效期
                Cookie.Expires = DateTime.Now.AddHours(2);
                //4.将身份验证票Cookie附加到输出的cookie集合中,发送到客户端. 
                Response.Cookies.Add(Cookie);
                #endregion
    
                #region Webconfig 配置 <system.web>中
                //<authentication mode="Forms">
                //  <forms name=".ASPXAUTH" loginUrl="~/Account/Login" protection="All" path="/" timeout="2880" />
                //</authentication>
                //<authorization>
                //  <allow users="*" />
                //</authorization>
                #endregion
    
    #region 退出
                FormsAuthentication.SignOut();
                Redirect(FormsAuthentication.LoginUrl);
    #endregion
    
    
    #region 使用
    1.  HttpContext.Request.User.Identity.IsAuthenticated Ture/False 是否验证通过授权验证
    2.  HttpContext.Request.User.Identity.Name 获取Tickct 中用户信息 UserName
    
    #endregion
    

    相关文章

      网友评论

          本文标题:2017-12-13 表单验证

          本文链接:https://www.haomeiwen.com/subject/pxawmftx.html