如何在Asp.Net会员提供商中处理“记住我”
发布时间:2020-12-16 06:53:36 所属栏目:asp.Net 来源:网络整理
导读:我为ASP.Net网站编写了一个自定义成员资格提供程序. 我使用默认的Forms.Authentication重定向,您只需将true传递给方法,告诉当前用户“记住我”. 我假设这个函数只是将cookie写入包含用户的一些登录凭证的本地机器. ASP.Net在这个cookie中放了什么?是否可以
我为ASP.Net网站编写了一个自定义成员资格提供程序.
我使用默认的Forms.Authentication重定向,您只需将true传递给方法,告诉当前用户“记住我”. 我假设这个函数只是将cookie写入包含用户的一些登录凭证的本地机器. ASP.Net在这个cookie中放了什么?是否可以知道我的用户名的格式(例如顺序编号),有人可以轻松复制这个cookie,并将其放在自己的机器上,能够以另一个用户身份访问该网站吗? 此外,我需要能够识别拥有cookie的用户的身份验证.由于他们最后一次登录他们的帐户可能已被取消,他们可能需要更改他们的密码等所以我需要截取身份验证的选项,如果一切仍然正常,允许他们继续或将他们重定向到正确的登录页面. 我很乐意为这两点提供指导.我第二次收集我可以在global.asax中放一些东西拦截身份验证? 提前致谢. 解决方法
对我来说,解决方案是区分浏览器会话auth cookie(不要与asp.net会话cookie混淆)和持久性cookie – 设置低到期将创建一个持久cookie,这意味着当浏览器关闭时它会被记住在到期时间内重新开放.以下适用于我:
public void SetAuthenticationCookie(LoginView loginModel) { if (!loginModel.RememberMe) { FormsAuthentication.SetAuthCookie(loginModel.Email,false); return; } const int timeout = 2880; // Timeout is in minutes,525600 = 365 days; 1 day = 1440. var ticket = new FormsAuthenticationTicket(loginModel.Email,loginModel.RememberMe,timeout); //ticket. string encrypted = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName,encrypted) { Expires = System.DateTime.Now.AddMinutes(timeout),HttpOnly = true }; HttpContext.Current.Response.Cookies.Add(cookie); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何从控制器操作设置ModelState true
- asp.net – 如何配置IIS以接受POST请求?
- Application_Start ASP.NET
- asp.net – 增加会话TimeOut
- asp.net-mvc – ASP.NET MVC 5为隐藏输入渲染不同的bool值
- razor – 从ASP.net Core 2中的视图访问自定义ApplicationU
- asp.net-mvc-3 – 是否可以强制使用DataType作为DataType.M
- asp.net – 与Silverlight 5的串行通信(COM端口)
- Asp.net Mvc 6登录后立即获得用户声明
- telerik – ASP.NET MVC2富文本编辑器
推荐文章
站长推荐
- asp.net – 在构造函数asp net中访问WebControls
- asp.net-core – .NET Core 1.0 – 如何使用xUni
- asp.net – 使用EF Projection的RIA Services Do
- asp.net中数据库事务管理
- asp.net – 从DAL返回BLL
- Azure Apps EasyAuth声称使用.NET Core
- asp.net-mvc – 在.Net MVC WS-Federation站点中
- asp.net-mvc – 查找会话状态的所有使用
- asp.net – Jquery datepicker:验证日期mm/dd/y
- ASP.NET:将ViewState移动到页面底部
热点阅读