.net ADFS 2.0 Web应用程序注销

.net ADFS 2.0 Web应用程序注销,.net,asp.net,authentication,logout,adfs2.0,.net,Asp.net,Authentication,Logout,Adfs2.0,我们正在使用客户ASP.NET按钮注销使用ADFS进行身份验证的web应用程序。我们尝试了几种方法,试图让应用程序正常注销,但似乎没有任何效果 它通常会将您带到federation server上的注销页面,该页面显示您已正确注销,但如果您回击,您仍然可以访问web应用程序 尝试: https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0 https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0&wr

我们正在使用客户ASP.NET按钮注销使用ADFS进行身份验证的web应用程序。我们尝试了几种方法,试图让应用程序正常注销,但似乎没有任何效果

它通常会将您带到federation server上的注销页面,该页面显示您已正确注销,但如果您回击,您仍然可以访问web应用程序

尝试: https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0

https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0&wreply={post-sign-out_-landing_-URL} 等

有人能正常工作吗


感谢您抽出时间

,据我所知,您只需使用适当的wssignout操作将用户重定向到ADF即可。这不会删除为应用程序创建的身份验证cookie,因此用户将保持登录状态

我使用WSFederationAuthenticationModule触发联合注销:

string absoluteUrl = HttpContext.Request.Url.AbsoluteUri;
string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/") + 1);
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri(replyUrl));
我回复应用程序是因为我想确保用户已注销

希望这有帮助。

对于我的应用程序,使用“?wa=wsignout1.0”URL清除应用程序的FedAuth cookies和ADFS MSISAuth cookies

您将进入“您已注销”页面


从那里,返回按钮将带您返回应用程序,但如果您尝试执行任何操作,您将被重定向到ADFS以再次登录。

我们也遇到了类似的问题。为我们工作的解决方案建议在ADFS 2.0管理控制台中的依赖方信任中添加一个端点。 请按照以下步骤操作:

  • 在google配置(高级)->SSO中添加注销URL-

    注销URL=https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0

  • 转到ADFS 2.0管理控制台。在“端点”选项卡下,单击“添加”

  • Endpoint Type=SAML Logout,Binding=POST,URL=如果希望将响应URL重定向到另一个页面,则可以设置响应URL,但我们喜欢ADFS站点,因为它会警告您已注销,但您仍应关闭浏览器


  • 谢谢。我在用于注销的链接按钮的onclick事件中添加了代码,这对我很有用。如何在web.config中添加WSFederationAuthenticationModule?您需要将其添加到模块集合中的
    。如果不确定,请将其添加到两个位置。下面是一个示例
    @shizik,我在
    httpModules
    modules
    中添加了它,我还在
    configSections
    中添加了
    section
    ,以删除一些阻止我登录的错误()。然后我在
    Signout.aspx.cs页面\u Load Event
    中添加了您的答案的3行。然后,我测试我的应用程序,但现在我在注销后得到空白页,没有错误或警告信息。现在,我该怎么办。你的Signout.aspx页面是否受保护,即它不允许匿名请求。因为如果我没记错的话,这个想法是当你被重定向回登录页面时,系统应该自动将你重定向到登录页面。