托管在 Windows 服务中的 WCF basicHttpBinding 设置凭据

Dav*_*rák 3 c# wcf basic-authentication

我可以在哪里为使用 basicHttpBinding 的服务设置用户名和密码

<binding name="proxioBasicHttpBinding"
                 closeTimeout="05:00:00" 
                 openTimeout="05:00:00"
                 receiveTimeout="05:00:00" 
                 maxBufferSize="2147483647" 
                 maxReceivedMessageSize="2147483647"
                 messageEncoding="Mtom" 
                 transferMode="Streamed" >
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Digest" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
Run Code Online (Sandbox Code Playgroud)

如果该服务托管在 windows 服务下?

Kei*_*ard 5

您是否试图将 Windows 凭据传递给您的服务?或为响应提供它?我不是 100% 清楚你想要完成什么。

如果我明白你在做什么,你就不能通过配置来做到这一点。你用这样的代码来做

client.ClientCredentials.UserName.UserName = UserId;
client.ClientCredentials.UserName.Password = Password;
Run Code Online (Sandbox Code Playgroud)

但是,如果您尝试在配置文件中配置 Windows 凭据。首先不推荐它,但这里有几个链接。

如何在 WCF 客户端配置文件中指定 Windows 凭据

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

这描述了多个场景的安全性。

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

关于 wcf 安全性的另一个有用链接 http://wcfsecurityguide.codeplex.com/releases/view/15892

我认为,如果您描述您的情况并阐明您需要完成的工作,您会得到更多回应。

但是,如果这有帮助,请奖励我代表:)