加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在ASP.NET MVC中使用DotNetOpenId RememberMe

发布时间:2020-12-15 23:12:31 所属栏目:asp.Net 来源:网络整理
导读:在ASP.NET MVC中使用DotNetOpenAuth 3并实现一个RememberMe工具… 我发现即使在FormAuthentication.RedirectFromLoginPage和FormsAuthentication.SetAuthCookie中将createPersistentCookie设置为true,一旦ASP.NET会话超时,用户也不会被记住. 如果我检查cooki
在ASP.NET MVC中使用DotNetOpenAuth 3并实现一个RememberMe工具…

我发现即使在FormAuthentication.RedirectFromLoginPage和FormsAuthentication.SetAuthCookie中将createPersistentCookie设置为true,一旦ASP.NET会话超时,用户也不会被记住.

如果我检查cookie,我发现它被标记为持久性,并且将来有一个到期日期方式,我认为是因为我将web.config FORMS超时设置为几年.无论如何,如果用户关闭浏览器并重新打开它,它们会被正确记住 – 只要ASP会话没有超时.

Scott Hanselmann的An older post让我想知道是否因为FormsAuthentication尝试更新认证券,也许在OpenId模型中不起作用,但是我已经在web.config中设置了FORMS SlidingExpiration =“false”,反正我认为强制持久的cookie会使这些东西无关紧要.

我也想知道为什么DotNetOpenId MVC示例不包括RememberMe复选框 – 也许有一些棘手的问题?

另一方面,在StackOverflow中,我看到我在会话中自动记住.想知道他们是否使用DotNetOpenId以外的其他方法来进行OpenId身份验证.

任何人在ASP.NET MVC中使用DotNetOpenId成功记住吗?任何技巧?

[更新]

感谢您的帮助,安德鲁.原来这不是关于DotNetOpenId.

在阅读this后,我收集到的是,我的主机提供商可能会定期回收应用程序池,这样就可以使用新的机器密钥进行身份验证加密.

根据上述链接的文章,我在Web.Config中的System.Web下添加了以下内容,并解决了以下问题:

<machineKey
    validationKey="(generated a new key to place here)"     
    decryptionKey="(generated a new key to place here)"
    validation="SHA1"
    decryption="AES" />

解决方法

我仍然认为cookie名称应该匹配…但这里还有其他的东西.

只要你在web.config文件中的超时值很大,那么这就好像你说的一样.但是,一旦你缩短了它,你的持久性cookie不会超过超时值.这个论坛话题帮我回答了这个问题:
http://forums.asp.net/p/1010241/1347970.aspx#1347970

看来web.config中的超时会影响所有的cookie.它说认证券持续多久.所有的验证Cookie都有这个“生存时间”超时,无论它们是否“持久”.因此,持久性Cookie和非持久性Cookie之间的区别在于,前者将持续不同的浏览器会话,如果浏览器关闭,后者将会死亡(早期).

那有意义吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读