FormAuth表单验证 发表于 2017-12-28 | 更新于 2018-07-28 | 分类于 C# | 评论数: 表单验证整理1234567891011121314151617181920212223242526272829303132333435363738394041#region Form 表单验证 //第一种方法 第一个参数对应第二种方法 票据中的第二个参数 //FormsAuthentication.SetAuthCookie(UserInfo.NetId, true); //第二种方法 可以多存放一个UserData (一般可以用来存放Role信息) //1. 生成Ticket FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, //VersionUserInfo.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 坚持记录世界,分享世界 打赏 微信支付 支付宝