【问题标题】:"Unknown user name or bad password" when accessing NAS through WCF service通过 WCF 服务访问 NAS 时出现“未知用户名或错误密码”
【发布时间】:2011-12-07 03:17:01
【问题描述】:

我有一个与 WCF 服务通信的 Web 应用程序客户端。客户端和服务都在运行模拟,因为它们需要写入 NAS 上的类似位置以写入日志和工作文件。问题是,虽然客户端可以写得很好,但服务不能。两者都使用System.IO.FileStream 写入NAS。我们最初认为这可能是由于不正确地传递了凭据,因此为域用户启用了委派。我们仍然收到同样的错误。如果我检查ServiceSecurityContext.Current.WindowsIdentity,我可以看到这是我所期望的域用户,但奇怪的是IIdentity.AuthenticationType 的值是“Kerberos”。使用this 文章,我们检查了我们的 IIS NTAuthenticationProviders 并验证它设置为“协商,NTLM”。我意识到这个 IIS 设置是用于 IIS 而不是 NAS 之间的通信,但我们想确定一下。
我们还执行了跟踪,可以看到有问题的服务器与 NAS 位置之间的协商。发送请求后,我们确实看到它尝试联系域控制器,但由于未配置,因此身份验证失败。
最后,我只是想找出是否有一个配置指令可以设置,以防止它在写入 NAS 时尝试使用 Kerberos 身份验证,其次,为什么当客户端是服务时使用 Kerberos不是。 我很乐意对此进行编辑并添加所需的任何其他配置项,因此请告诉我。

WCF 服务 web.config 绑定部分

    <bindings>
        <wsHttpBinding>
            <binding name="default" maxReceivedMessageSize="200000">
                <security mode="Message">
                    <message clientCredentialType="Windows" negotiateServiceCredential="true" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>

感谢您的帮助!

【问题讨论】:

    标签: wcf authentication wcf-security impersonation delegation


    【解决方案1】:

    你看过这里的物品吗?

    http://msdn.microsoft.com/en-us/library/ff650591.aspx

    第 8 步中的项目可能会帮助您或为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      相关资源
      最近更新 更多