当用户不在域管理员组中时,WCF 调用失败

问题描述 投票:0回答:1

我有一个在服务器 (Windows server 2012) 上运行的应用程序,该应用程序对计算机 (Windows 10) 上运行的另一个应用程序进行 wcf 调用。

每次运行应用程序的用户不是域管理员的成员时,wcf 调用都会失败并出现此错误:

(内部异常 #0)System.ServiceModel.Security.SecurityNegotiationException:服务器已拒绝客户端凭据。 ---> System.Security.Authentication.InvalidCredentialException:服务器已拒绝客户端凭据。 ---> System.ComponentModel.Win32Exception:登录尝试失败 --- 内部异常堆栈跟踪结束 --- 在 System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] 消息,LazyAsyncResult lazyResult) 在 System.Net.Security.NegoState.StartSendBlob(Byte[] 消息,LazyAsyncResult lazyResult) 在 System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult 惰性结果) 在 System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential 凭证,字符串 targetName,保护级别 requiredProtectionLevel,TokenImpersonationLevel allowedImpersonationLevel) 在System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(流流,SecurityMessageProperty&remoteSecurity)

当我将用户添加到域管理员组中时,一切正常。

我错过了什么吗?是否有我不知道的安全规则?

预先感谢您的专业知识。

c# windows wcf windows-server-2012 windowsdomainaccount
1个回答
0
投票

我找到问题所在了。有人配置了 GPO 来限制可以从网络访问计算机的组数量。 只有管理员可以访问这台计算机。

为了解决这个问题,我仅为正确的用户创建了一个组,并将该组添加到我需要访问的计算机的 GPO 中。

© www.soinside.com 2019 - 2024. All rights reserved.