gpt4 book ai didi

java - 如何在配置文件而不是代码中在客户端为 WCF 服务配置用户 ID/密码

转载 作者:行者123 更新时间:2023-12-01 15:00:42 24 4
gpt4 key购买 nike

要求是调用 Java Web 服务。提供了 WSDL。调用以不安全的方式成功。现在需要对服务调用进行身份验证。仅通过特定的 Windows 用户 ID/密码,服务调用才会成功。由于我们应用程序中的所有内容都是基于配置的,因此我们不想在代码中硬编码任何内容。如果有人可以展示如何做到这一点,我会很感激?

顺便说一句,我有这个配置......

  <basicHttpBinding>

<binding name="MyBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:30:00" sendTimeout="00:10:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>


</basicHttpBinding>

最佳答案

您无法在 WCF 特定配置中的任何位置设置用户名/密码。但是,您可以将用户名/密码对设置为应用程序设置,从代码中检索它们,然后在 WCF 客户端中设置它们。

<configuration>
<appSettings>
<add key="UserName" value="My user name" />
<add key="Password" value="Your secret password" />
</appSettings>
</configuration>

并在代码中:

var username = ConfigurationManager.AppSettings["UserName"];
var password = ConfigurationManager.AppSettings["Password"];
client.ClientCredentials.UserName.UserName = username;
client.ClientCredentials.UserName.Password = password;

关于java - 如何在配置文件而不是代码中在客户端为 WCF 服务配置用户 ID/密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13690945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com