“记住我” ASP.NET MVC 身份验证不起作用
我有一个标准 ASP.NET MVC(RC 刷新)Web 项目,其中包含标准 ASP.NET 成员资格提供程序和项目模板中包含的帐户控制器。
当我在登录表单中选中“记住我”时,该网站仍然没有记住我。 (Firefox 会记住我的用户名和密码,但我期望发生的是自动登录)。
我必须手动设置和检查cookie吗? 如果是的话,应该怎样做才最好呢?
I have a standard ASP.NET MVC (RC Refresh) web project, with the standard ASP.NET Membership provider and the Account controller that is included in the project template.
When I check "Remember me" in my Login form, I am still not being remembered by the site. (Firefox remembers my username and password, but what I expected to happen was to be automatically logged on).
Do I have to set and check the cookie manually? If so, how should it best be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要将 true/false 传递给 SetAuthCookie 方法。
并确保
bool RememberMe
反映登录页面上复选框的状态。You need to pass true/false to the SetAuthCookie method.
and make sure that
bool rememberMe
reflects the status of the checkbox on your login page.您需要在控制器方法中生成一个持久 cookie,用于在选中“记住我”框时处理登录。 如果您使用的是
RedirectFromLoginPage
,请将 createPersistentCookie 参数设置为true
。You need to generate a persistent cookie in the controller method that handles logon when the Remember Me box is checked. If you are using
RedirectFromLoginPage
, set the createPersistentCookie argument totrue
.这 3 种方法帮助我保留了 cookie。
请注意,如果用户取消选择“记住我”,您将需要删除 cookie。
These 3 methods helped me persist a cookie.
Note, if the user unselects "Remember Me", you'll want to remove the cookie.