【发布时间】:2017-10-15 18:04:28
【问题描述】:
我有一个 WCF 服务,它使用 NetTcpBinding 与一些表单应用程序交互,以便使用回调。它工作得很好。
现在我想从在 LocalService 帐户下运行的 WindowsService 使用相同的 WCF 服务。这样做的目的是输入一些将在表格中显示的数据。我只需要使用其中一个功能,我们称之为“PushInfo(data as MyData)”
据我所知,我无法使用 LocalService 帐户执行此操作,因此我设置了它以使用一些 AD 凭据:
myclientWCF = New ServiceReference.GatewayClient(context)
myclientWCF.ClientCredentials.Windows.ClientCredential.UserName = "John"
myclientWCF.ClientCredentials.Windows.ClientCredential.Domain = "EvilCorpDomain"
myclientWCF.ClientCredentials.Windows.ClientCredential.Password = "spaceballs"
myclientWCF.PushInfo(myData)
如果我这样做,由于凭据无效,调用会被服务器拒绝。
我错过了什么?
我已阅读我应该使用:
myclientWCF.ClientCredentials.Windows.ClientCredential = New NetworkCredential("John", "spaceballs", "EvilCorpDomain")
但我得到了相同的结果,实际上我看不出这与我的方法有何不同。
【问题讨论】:
标签: wcf windows-services credentials impersonation