asp.net-mvc – ASP.NET MVC RememberMe
|
搜索很多,我没有得到任何答案,最后我不得不回到你.下面我正在详细解释我的问题.太久了,所以请不要放弃阅读.我用简单的语言解释了我的问题. 我一直在开发一个asp.net mvc项目. 我只需要这个: 我需要用户登录到Web应用程序.在登录期间,他们可以通过记住我或没有登录. 注意:我已经成功地实现了上述功能,而不使用标准的asp.net角色和成员资格,为用户创建自己的talbes,并对我的数据库表进行身份验证,在我的其他项目中设置cookie和会话.但是对于这个项目,我们从一开始就使用标准asp.net角色和成员资格.我们以为它会工作,一切都是在测试之后建立起来的.现在我们不能用标准的asp.net角色和成员身份替换现有的功能,并且使用我自己的用户表和所有的东西,你明白我的意思. 或者有一些标准asp.net角色和会员功能的错误,或者我有标准asp.net角色和成员资格错误的整个概念.我已经说了我想要的东西.我觉得这很简单合理. 我做了什么 >登录表单用用户名,密码和记住我的字段. FormsAuth.SignIn(userName,rememberMe); public void SignIn(string userName,bool createPersistentCookie) 现在问题如下: 我在上面已经说过“我只需要这个”. 我在这个主题上搜索互联网很多,但我无法得到解决方案.在Scott Gu所写的博客文章(http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx)中完全相同的话题.用户在他们的评论中抱怨同样的事情,Scott先生没有提供简单的解决方案. 我在以下地方阅读: 我想这是很多用户的问题.正如Scott Gu先生的博客帖子所示. 您的帮助将非常感激. 解决方法当您选择RememberMe选项时,您要做的是具有不同的超时时间.不幸的是,SetAuthCookie方法不允许您手动设置过期,因此您必须自己做.那么问题是怎么做呢? ASP.NET MVC使用System.Web.Security的FormsAuthentication类来做到这一点,因为如果您还要支持配置设置和无Cookie浏览和SSL,这不是微不足道的,但是我认为如果你这样做: int timeout = rememberMe ? 525600 : 30; // Timeout in minutes,525600 = 365 days. var ticket = new FormsAuthenticationTicket(userName,rememberMe,timeout); string encrypted = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName,encrypted); cookie.Expires = System.DateTime.Now.AddMinutes(timeout);// Not my line cookie.HttpOnly = true; // cookie not available in javascript. Response.Cookies.Add(cookie); 你会得到你所需要的基本版本. 注意:我没有测试这个代码. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Core:跟踪当前活动页面,或如何在视图中获取控制器
- asp.net – 如何设置显示内联的Div元素的固定宽度?
- ASP.net c#替换字符串不起作用
- asp.net – ASP .net当前物理位置
- asp.net – MVC [HandleError] HandleErrorAttribute在使用
- asp.net-mvc – ASP.NET MVC:使浏览器缓存图像从动作
- asp.net-mvc – Asp.Net MVC使用来自JQuery UI选项卡的ajax
- asp.net-mvc – 适用于asp.net MVC和razor视图的免费UI模板
- asp.net – RazorGenerator没有生成正确的命名空间
- asp.net-mvc – 您可以使用IOC容器将依赖项注入自定义WebVi
