【发布时间】:2012-02-27 07:13:01
【问题描述】:
我有一个客户端控制台应用程序,它有一些用户凭据 - 域\用户和纯文本密码。客户端应用程序通过调用 LogonUser (dwLogonType:LOGON32_LOGON_NETWORK) win32 API 为该用户获取 windowsidentity 对象。我使用 windowsidentity 来模拟和进行 WCF 服务调用(托管在不同的机器上)。 WCF 服务配置为使用具有 Windows 集成安全性的 TCP 协议。调用失败并出现 SecurityNegotiation 异常并出现错误:远程服务器不满足相互身份验证要求。
我的假设是服务器看到它拒绝的匿名客户端身份,因为端点配置为使用 Windows 集成身份验证。我的猜测是需要为 Windows 委派设置服务器帐户。我猜对了吗?
还有,
- 我选择的 dwLogonType = LOGON32_LOGON_NETWORK 是否正确?
- LogOnUser 返回的令牌 (dwLogonType = LOGON32_LOGON_NETWORK) 能否用于远程 WCF 调用?
【问题讨论】:
-
LOGON32_LOGON_NETWORK不允许访问其他服务器。LOGON32_LOGON_NETWORK_CLEARTEXT会。
标签: wcf windows-authentication impersonation windows-security