通过网络浏览器(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, List
1 个附加声明)在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken 请求,IList1& identityClaimCollection) --- End of inner exception stack trace --- at Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken request, IList
1& 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, List
1 个附加声明)在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken 请求,IList`1& identityClaimCollection)
在另一台机器上,我有这个错误:
HTTP 400 BadRequest 找不到网页
你对这个问题有什么想法吗?谢谢