【发布时间】:2015-06-02 06:50:12
【问题描述】:
我有一个将 AAD 与 WS Federation 结合使用的应用程序。我在 AAD 的应用程序中配置了多个回复 URL。我的应用程序之前强制所有用户登录,并且重定向在所有环境中都能正常工作。我必须允许未经身份验证的用户访问我的网站,在我进行必要的更改后,应用程序开始在登录后将我重定向到随机回复 URL。
以下是代码更改:
Web.config
<system.web>
<authorization>
<allow users="*" />
</authorization>
...
</system.web>
AccountController.cs
public ActionResult SignIn()
{
WsFederationConfiguration config = FederatedAuthentication.FederationConfiguration.WsFederationConfiguration;
string callbackUrl = Url.Action("Index", "Home", routeValues: null, protocol: Request.Url.Scheme);
SignInRequestMessage signinMessage = new SignInRequestMessage(new Uri(config.Issuer), callbackUrl);
signinMessage.SetParameter("wtrealm", IdentityConfig.Realm ?? config.Realm);
return new RedirectResult(signinMessage.WriteQueryString());
}
我还在我的 Web.config 转换中在两个地方指定了回复 URL:
在 appSettings <add key="ida:RedirectURI" value="..." /> 中,它在我的 Global.asax.cs 中使用 WSFederationAuthenticationModule_RedirectingToIdentityProvider 方法来设置 e.SignInRequestMessage.Reply。
在
<system.identityModel.services>
<federationConfiguration>
<wsFederation
passiveRedirectEnabled="true"
reply="..." />
</federationConfiguration>
</system.identityModel.services>
请注意,有一个相关的 SO 问题没有那么详细并且没有答案Azure Active Directory Reply URL not working as expected
【问题讨论】:
标签: azure-active-directory ws-federation