为了账号安全,请及时绑定邮箱和手机立即绑定

使用联合服务从 ASP Web 应用程序注销时出现问题

使用联合服务从 ASP Web 应用程序注销时出现问题

C#
森栏 2022-11-13 15:59:38
我正在尝试从 Intranet 应用程序中注销,该应用程序也可以通过使用 Active Directory 联合身份验证服务登录从 Internet 访问。首先,我只是做了一个 href https://federation.mycompany.com/adfs/ls/?wa=wsignout1.0。联邦页面显示并显示一条消息:“您已成功注销!” 但是如果我返回,我可以再次访问网络应用程序而无需再次登录。我还尝试附加一个重定向参数,以便提示用户再次插入凭据。但是重定向不会发生。后来我在我的一个控制器中创建了一个动作。这是代码:public ActionResult Logoff(){    string absoluteUrl = HttpContext.Request.Url.AbsoluteUri;    string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/")+1);    WSFederationAuthenticationModule.FederatedSignOut(new Uri(@"https://federation.mycompany.com/adfs/ls/?wa=wsignout1.0"), new Uri(replyUrl));    return null;}但问题是一样的。我尝试的第三件事是在退出前删除 cookie。但似乎身份验证cookie在域下而不是我的应用程序下,因此无法访问。如何解决此退出问题?请帮忙。
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我只是假设,但我怀疑您的 ADFS 配置为用于 Windows 身份验证,而您的应用程序具有登录按钮。

如果是这种情况,那么您就不能真正从已通过身份验证的 ADFS 注销,并且它会在应用程序的下一次请求时愉快地重新发出令牌。您无法对此做任何事情,因为身份验证是使用 MTML/Kerberos 执行的,并且该浏览器会保留您的凭据,直到您关闭它。

解决方案是将 ADFS 更改为 Forms 模式,看看是否有帮助。


查看完整回答
反对 回复 2022-11-13
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信