作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
要求是调用 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/
我是一名优秀的程序员,十分优秀!