asp.net – 检查Active Directory密码是否与cookie不同
发布时间:2020-12-15 23:59:45 所属栏目:asp.Net 来源:网络整理
导读:我有一个asp.net应用程序需要使用表单身份验证将用户登录到Active Directory(Windows身份验证不是具有给定要求的选项). 我正在保存身份验证cookie,如下所示: if (Membership.ValidateUser(model.UserName,model.Password)){ FormsAuthentication.SetAuthCoo
我有一个asp.net应用程序需要使用表单身份验证将用户登录到Active Directory(Windows身份验证不是具有给定要求的选项).
我正在保存身份验证cookie,如下所示: if (Membership.ValidateUser(model.UserName,model.Password)) { FormsAuthentication.SetAuthCookie(model.UserName,model.RememberMe); } 这非常有效,除非cookie在更改其Active Directory密码后对用户进行身份验证. 有没有办法判断用户的密码是否已更改? 我在.NET 4中使用asp.net MVC3 我试过的 如果觉得这个代码应该有效,那么HttpWebResponse永远不会包含任何cookie.不太确定我做错了什么. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Request.Url); request.CookieContainer = new CookieContainer(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Cookie authCookie = response.Cookies["AuthCookie"]; if (authCookie.TimeStamp.CompareTo(Membership.GetUser().LastPasswordChangedDate) < 0) { authCookie.Expired = true; } 解决方法
你的代码应该阅读
if (Membership.ValidateUser(model.UserName,model.Password)) { string userData = DateTime.Now.ToString(); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,username,DateTime.Now,DateTime.Now.AddMinutes(30),isPersistent,userData,FormsAuthentication.FormsCookiePath); // Encrypt the ticket. string encTicket = FormsAuthentication.Encrypt(ticket); // Create the cookie. Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName,encTicket)); } 现在,在验证用户时 HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.value); if (DateTime.Parse(ticket.UserData) > Membership.GetUser().LastPasswordChangedDate) { FormsAuthentication.SignOut(); FormsAuthentication.RedirectToLoginPage(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 有没有办法确保(仅)在HTTPS协议上运行ASP.NET应用程序?
- asp.net-mvc – 我可以在_Layout.cshtml中有条件地渲染部分
- 如何在ASP.NET MVC模型中为POST保存选定的DropDownList值?
- 如何确定ASP.NET站点(IIS)上的用户数量?和他们的信息?
- asp.net – 如何从.aspx页面检索查询字符串值并将其传递给a
- asp.net-mvc – 未找到与请求URI匹配的HTTP资源
- asp.net-mvc – 脚手架错误:deps.json不存在
- 如何获取ASP.NET应用程序的完整虚拟路径
- asp.net – 模拟无法正常工作 – 网络共享
- asp.net – 确定对IIS施加压力的因素
推荐文章
站长推荐
- asp.net-mvc-2 – 带有JavaScript变量的ASP.NET
- asp.net – “字符串中没有引号”的正则表达式是
- ASP.NET MVC 4 – 应用程序不接受新连接字符串 –
- asp.net – asp文本框控件的CSS
- asp.net-mvc – 如何避免打开重定向漏洞并成功登
- asp.net-mvc – 在ASP.NET MVC的查询字符串中使用
- asp.net – 如何在CORS中解决’预检无效(重定向)
- asp.net-mvc – 如何使用枚举的MVC Html Helper
- asp.net-mvc – 其中Simple Injector等效于Struc
- asp.net-web-api – ASP.NET Web API中的回调方法
热点阅读