微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为了修复.NET Framework MVC应用程序中的错误ID3206,更改SignInRequestMessage中的上下文wctx是否有任何不利影响?

如何解决为了修复.NET Framework MVC应用程序中的错误ID3206,更改SignInRequestMessage中的上下文wctx是否有任何不利影响?

用户使用诸​​如“ https:// server / mvcapp”之类的URL导航到具有passiveRedirectEnabled="true"的.NET Framework MVC应用程序时(请注意,末尾没有“ /”),认的WIF使用SignInRequestMessage之类的上下文(wctx)构建rm=0&id=passive&ru=%2fmvcapp,并且当用户在STS上登录后将用户重定向回应用程序时,会收到错误消息“ ID3206:A SignInResponse消息只能在当前Web应用程序内重定向。”

RedirectToIdentityProvider的子类中覆盖GetReturnUrlFromresponseWSFederationAuthenticationModule确实可以,但是我不太喜欢这种解决方Error - A SignInResponse message may only redirect within the current web application - MVC 2.0 application 部分原因是因为Realm不一定是实际有效的URL(它可能只是一个URI,用于标识依赖方-在这种情况下为mvc应用程序),即使对它们进行了一些调整,这些解决方案也可能会失败。 ,例如,还要测试Reply参数(如果有)。

ta-speot-is评论中有一个解决的问题,事实证明WSFederationAuthenticationModule_RedirectingToIdentityProvider中的Global.asax也有效。例如:

protected void WSFederationAuthenticationModule_RedirectingToIdentityProvider(object sender,RedirectingToIdentityProviderEventArgs e)
{
  e.SignInRequestMessage.Context = "rm=0&id=passive&ru=/mvcapp/";
}

或者甚至是e.SignInRequestMessage.Context = null;而不是更改ru的值。

我喜欢WSFederationAuthenticationModule_RedirectingToIdentityProvider解决方案。使用它有什么缺点?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。