0

通过网络浏览器(IE 或 Chrome)使用 ADFS 登录应用程序时出现问题。我想在不输入这些标识符的情况下使用 ADFS SAML 自动且透明地登录用户(当前用户已登录)。

所以我有 2 台运行 Windows 2016 Server 的服务器:-第一个 Serv1:具有 Active Directory 目录的域控制器-第二个 Serv2:ADFS 服务器(4.0),它加入了控制器 Serv1

当我尝试访问我的应用程序时,遇到以下错误:

发生错误。有关详细信息,请联系您的管理员

活动 ID:00000000-0000-0000-d000-0080000000fa 依赖方:preprod.xxxxxxxxx.com - DMS 错误时间:星期一,2019 年 6 月 10 日 13:27:07 GMT Cookie:已启用用户代理字符串:Mozilla/5.0(Windows NT 10.0 ; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36

我们可以在 ADFS 服务器上的 ADFS 事件日志中看到以下内容:

在联合被动请求期间遇到错误。

附加数据

协议名称:Saml

依赖方: https ://preprod.xxxxxxxxx.com:443/auth/saml/metadata/alias/dms

异常详细信息:Microsoft.IdentityServer.AuthenticationFailedException:MSIS3111:AD FS 不支持非域用户。---> System.IdentityModel.Tokens.SecurityTokenValidationException:MSIS3111:AD FS 不支持非域用户。在 Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.BeginGetScope(IClaimsPrincipal principal, RequestSecurityToken request, AsyncCallback callback, Object state) 在 Microsoft.IdentityModel.SecurityTokenService. Microsoft.IdentityServer.Web.WSTrust 的 SecurityTokenService.BeginIssue(IClaimsPrincipal 主体,RequestSecurityToken 请求,AsyncCallback 回调,对象状态)。1& identityClaimSet, List1 个附加声明)在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken 请求,IList1& identityClaimCollection) --- End of inner exception stack trace --- at Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken request, IList1& identityClaimCollection) 在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.RequestBearerToken(MSISRequestSecurityToken signInRequest, Uri& replyTo, IList`1& identityClaimCollection) 在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.RequestSingleSignOnToken(ProtocolContext context, SecurityToken securityToken, SecurityToken deviceSecurityToken) 在Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext context, SecurityToken securityToken, SecurityToken deviceSecurityToken)在微软。IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context) 在 Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler) 在 Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)

System.IdentityModel.Tokens.SecurityTokenValidationException:MSIS3111:AD FS 不支持非域用户。在 Microsoft.IdentityServer.Service.LocalAccountStores.ActiveDirectory.ActiveDirectoryCpTrustStore.ProcessPrincipal(IClaimsPrincipal incomingPrincipal) 在 Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.BeginGetScope(IClaimsPrincipal principal, RequestSecurityToken request, AsyncCallback callback, Object state) 在 Microsoft.IdentityModel.SecurityTokenService。 Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken 请求,IList 上的 SecurityTokenService.BeginIssue(IClaimsPrincipal 主体,RequestSecurityToken 请求,AsyncCallback 回调,对象状态)1& identityClaimSet, List1 个附加声明)在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken 请求,IList`1& identityClaimCollection)

在另一台机器上,我有这个错误:

https://srv-adfs.ppppppppp.local/adfs/ls/wia?SAMLRequest=jZJBb4JAEIXv%2FRVk77CAaHQjGFtjamJTIthDb8OyIhV26c5i%2BvOLotFeTJO57GTmm5f3djr7qSvrKDSWSobEc1xiCclVXsoiJNt0aY%2FJLHqaItSV37B5a%2FZyI75bgcaaIwptur0XJbGthU6EPpZcbDfrkOyNaZBR2mjRaJU7SuW6PAqHq5oFwYBCR6InKk2SdwpVCUjzGom16NClBHPWc6WgPtrZobEh36GTAT%2B0TaFV2zjIeU1PXVohJdZSaS7OIkOygwoFsVaLkMA%2By3aDcTH0vvKxnweBPxZ8UnDu8WGWdTMYA2In77aF2IqVRAPShMR3vYntjmzPTb2AdeX7zmjgfRIr1soorqrnUvaWtVoyBVgik1ALZIazZP62Zr7jsqwfQvaaprEdvycpsT6u1vsn67swJLLe7Mes5nKYRH027KxY3xMeA%2BCaHon%2Bn1UtDORg4BbYlN6fjy7Pvz8l%2BgU%3D&RelayState=%7C%7Cbackup-webclient&SigAlg=http %3A%2F%2Fwww.w3.org%2F2001%2F04%2Fxmldsig-more%23rsa-sha256&Signature=SxWuSQC3I77BXcfCxR%2Bicp1ES%2FgrQDZdx8W8XPxC51JRmNeVxfXI%2BDWgCV8bMrTl%2BYc8I6VZPJxDVPPzTQEZihQaXl0ib2Q268OiNwU1bN9pDL6EpuMM9nCxuEQEdtW58M%2F%2Bjs07j1Rp40VD8AVbvQrpv67AgXXdLWGrSSvZHPwrHLy8fhpSDmg57F8g1zD5%2BMpijrx%2F4n5e8MIK6fBUDPWfAaWCjXgHoo%2B7PFr%2Fp8w5MMa9ZPLDg7yQrMGSQ3on1UxpM091Uu85S%2ByI0aYDHmgZk%2BmGwBUblDWleenUwyAMjopZ3TJx4%2Feng2uBD8%2FbLfWUmbitMMMdsLbIOEb%2Bng%3D%3D&client-request-id=00000000-0000-0000-1201- 0080000000dc

HTTP 400 BadRequest 找不到网页

你对这个问题有什么想法吗?谢谢

4

1 回答 1

0

我通过将 SPN(服务主体名称)设置为 ADFS 服务帐户 HTTP/FQDN 解决了​​这个问题

于 2019-07-08T09:41:18.060 回答