1

在 .net 应用程序中实现 web-sso-with-cloud-ad-o365-users 的最佳解决方案是什么?我仔细观察并找到了很少的解决方案,但我对这些解决方案不太相信。

我正在 Windows Azure 上构建一个 ASP.NET Web 应用程序。应用程序用户名和密码与使用 Windows Identity Foundation 的 office 365 相同。

我可以在我的应用程序和 Office365 环境之间建立单点登录吗?因此,用户一旦登录我的应用程序,就必须登录 Office365。

我尝试了下面的链接并制作了 MVC3 Web 应用程序。

https://www.windowsazure.com/en-us/develop/net/how-to-guides/web-sso/

http://veerendracloudblogs.blogspot.in/2012/07/web-sso-with-cloud-ad-o365-users.html

当我运行应用程序并提供登录凭据时发生错误:-

“/”应用程序中的服务器错误。

ID1038: AudienceRestrictionCondition 无效,因为指定的 Audience 不在 AudienceUris 中。观众:'spn:b6933382-49c5-4430-81cc-36dd50a3c971'

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException:ID1038:AudienceRestrictionCondition 无效,因为 AudienceUris 中不存在指定的受众。观众:'spn:b6933382-49c5-4430-81cc-36dd50a3c971'

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[AudienceUriValidationFailedException:ID1038:AudienceRestrictionCondition 无效,因为 AudienceUris 中不存在指定的受众。受众:'spn:b6933382-49c5-4430-81cc-36dd50a3c971'] Microsoft.IdentityModel.Tokens.SamlSecurityTokenRequirement.ValidateAudienceRestriction(IList1 allowedAudienceUris, IList1 tokenAudiences)+1287 Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ValidateConditions(Saml2Conditions 条件,布尔型enforceAudienceRestriction)+2309 Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ValidateToken(SecurityToken 令牌)+786 Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection。 ValidateToken(SecurityToken token) +297 Microsoft.IdentityModel.Web.TokenReceiver.AuthenticateToken(SecurityToken token, Boolean ensureBearerToken, String endpointUri) +279 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequest request) +822 Microsoft.IdentityModel.Web.WSFederationAuthenticationModule .OnAuthenticateRequest(Object sender, EventArgs args) +363 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep。Execute() +136 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

4

1 回答 1

1

似乎您在上面确实有正确的信息,但是当您说“没有成功”时,这是什么意思。当您尝试配置它时实际发生的情况以及连接不起作用时实际发生的情况。您需要添加一些错误信息以获得准确的帮助。

我看到的大多数问题都与获取/设置正确的智能链接有关,该链接在 Web 应用程序中用于将用户转移到 O365 服务器以获得积极的身份验证声明。因此,如果您已经通过了这一点,则应该没有问题,因为一旦您获得了索赔,您就是经过身份验证的用户。因此,您真正需要的是使用 Smart Links 校正,下面将详细描述问题,因此请验证您是否正确设置了它:

通过 Office 365 使用智能链接或 IdP 发起的身份验证

Office 365 单点登录配置是与通过 WS-Federation (WS-Fed) 和 WS-Trust 协议支持的公司 ADFS 一起完成的,此处有一份白皮书“ Office 365 Single Sign-On with AD FS 2.0 白皮书”进行了说明过程。

您还可以在此处查看基于 SAML 2.0 协议的 Internet2 Shibboleth 2,使用 Office 365 产品的基于声明的 (Web) 单点登录。

于 2013-01-12T18:11:55.530 回答