wsFederation和passiveRedirectEnabled为false

时间:2017-10-12 15:25:15

标签: c# ws-federation

关于以下情况,我需要你的帮助:

我有一个webapp,我将其配置为重定向到另一个网站以获取令牌。

这非常有效,我从EmbeddedSTS样本中创建了一个页面,我们可以从下拉列表中选择用户。

现在我需要将其更改为另一个环境,要求是用户来到此页面,需要接受一种免责声明,然后我需要针对ADFS对此用户进行身份验证。

在Identity网站上,我将“passiveRedirectEnabled”设置为false,否则用户将自动重定向到ADFS而无需确认免责声明。

现在我被阻止了,我找不到一个能够重定向到ADFS的代码。

我试过这样的事情:

FederatedAuthentication.WSFederationAuthenticationModule.RedirectToIdentityProvider(...);

但是没有重定向发生,因为我在MVC网站上,我需要返回一个页面?我不知道如何使用这种方法?

提前致谢,

1 个答案:

答案 0 :(得分:2)

您可以使用SignInRequestMessage类手动创建SignIn Url。

var signInRequestMessage = new SignInRequestMessage(new Uri("https://AdfsUrl"), "yourRealm", "https://yourRedirectUrl");
var redirectUrl = signInRequestMessage.WriteQueryString();
return RedirectTo(redirectUrl);

https://msdn.microsoft.com/en-us/library/system.identitymodel.services.signinrequestmessage(v=vs.110).aspx