Windows Identity Foundation:如何在ASP.net中获取新的安全令牌
我正在编写一个使用Windows Identity Foundation的ASP.net应用程序。 我的ASP.net应用程序使用基于声明的身份验证与被动重定向到安全令牌服务。 这意味着当用户访问应用程序时,它们会自动重定向到安全令牌服务,在那里他们会收到一个安全令牌,以便将其标识给应用程序。
在ASP.net中,安全令牌存储为cookie。
我想让用户在我的应用程序中点击一下,即可删除cookie并将其重定向到安全令牌服务以获取新令牌。 简而言之,可以轻松注销并以其他用户身份登录。 我尝试删除代码中包含代码的cookie,但它以某种方式持续存在。
如何删除令牌以便用户可以再次登录并获取新令牌?
我找到了解决方案。 简单地说:
Dim smartWsFederationAuthenticationModule As _
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule = _
HttpContext.Current.ApplicationInstance.Modules("WSFederationAuthenticationModule")
smartWsFederationAuthenticationModule.SignOut(True)
有关更多信息,请参阅此处:http://garrettvlieger.com/blog/2010/03/refreshing-claims-in-a-wif-claims-aware-application/
我也看到,我也可以处理WIF框架的其他部分。 这绝对值得一读。
饼干有点奇怪。 它们由浏览器管理,并且没有“方法”来删除它们。 从服务器端的Request或Response对象中删除它们不会将它们从客户端的浏览器中删除。
要“删除”Cookie,您必须将其过期日期设置为过去。
请参阅:http://msdn.microsoft.com/en-us/library/ms178195.aspx
链接地址: http://www.djcxy.com/p/71775.html上一篇: Windows Identity Foundation: How to get new security token in ASP.net
下一篇: getting Windows Identity Foundation "Developer Training Kit" examples to work