Asp.net 将PersistentCookiesOnPassiveDirections设置为true实际上做了什么?

Asp.net 将PersistentCookiesOnPassiveDirections设置为true实际上做了什么?,asp.net,wif,Asp.net,Wif,使用WIF时,客户机能够设置默认为false的persistentCookiesOnPassiveRedirects。以下是提供的定义: persistentCookiesOnPassiveRedirects:指定是否持久化 当模块启动时,会发出cookie WS-Federation被动协议重定向。持久的cookie将 延长用户会话时间 好的,听起来很清楚,但我仍然不明白,更改true/fasle之间的值似乎没有任何区别。它是否需要在一个独立的浏览器中打开另一个信任同一个STS提供商的站点,这

使用WIF时,客户机能够设置默认为false的
persistentCookiesOnPassiveRedirects
。以下是提供的定义:

persistentCookiesOnPassiveRedirects:指定是否持久化 当模块启动时,会发出cookie WS-Federation被动协议重定向。持久的cookie将 延长用户会话时间

好的,听起来很清楚,但我仍然不明白,更改true/fasle之间的值似乎没有任何区别。它是否需要在一个独立的浏览器中打开另一个信任同一个STS提供商的站点,这样用户就不必再次登录

我想一个站点和STS协同工作的例子将非常有助于准确解释此设置的作用。谢谢

这意味着WIF发布的FedAuthcookies将是持久的(而不是绑定到用户会话)。如果您关闭浏览器并再次打开,cookies仍将发送到您的站点,并且令牌协商将不会发生(您将不会重定向到STS)

如果为false,则每次关闭浏览器并再次打开时,都会触发协商,因为不再有令牌。(Cookie是WIF存储安全令牌信息的地方)

请注意,STS本身也会发出cookie(与您的应用程序不同),这些cookie可能是持久的,因此即使您将标志设置为false,实际的身份验证也可能不会再次发生

还请注意,WIF可以选择将它需要的信息存储在其他地方(服务器端)


最后但并非最不重要的一点是,令牌可能会过期,在这种情况下,不管标志是什么,都会触发协商

我猜如果你使用被动重定向,你会注意到它的作用。我使用的是被动重定向,但在到期之前没有做过时间长度的测试。这就是将此值设置为“true”的主要优势吗?不知道,我对WIF的了解和猿类对您的评论的了解一样多:请注意,STS本身也会发布cookies(与您的应用程序不同),这些cookies可能是持久的,因此即使您将标志设置为false,实际的身份验证也可能不会在第二次发生。有没有办法控制这种情况?你写的最后一点我经历过,无法解释。如果你控制了STS,那么是的。(STS不是您的应用程序)例如,ACS不允许它,并将始终将您的请求转发给IdP(例如谷歌)。如果您设置了“记住我”标志,那么cookies将被持久化,您将不需要重新验证。是的,STS提供程序是我的(两端都是)。STS令牌提供程序被动登录站点中控制此操作的配置元素是什么?明白了。我不建议在生产中使用它:-)。但要回答你的问题:WIF与此无关,因为WIF只是给你一个代币。身份验证是通过其他一些机制(如成员资格)进行的。使用ASP.NET API创建持久cookie并完成您的操作。只是警告它是一个非常简单的模板。“真正的”STS必须进行性能/规模、安全性、可管理性等方面的测试。同样,“新项目”项目也没有做好生产准备。我认为主要是为了支持开发,但可能是您完成了所有这些(测试等)。