2017-12-13 表单验证

2020-04-28  本文已影响0人  Far_well

表单验证整理

#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
上一篇 下一篇

猜你喜欢

热点阅读