0

我正在使用 .Net、C# ......通常。

有一个客户端 Web 服务要实现(WebSphere,不暴露 wsdl,soap ……让它工作起来很痛苦,因为我对这些几乎一无所知)

我最终通过添加 Web 服务引用而不是添加服务引用来使用该服务。因为服务没有暴露它的 wsdl,但是客户端给我提供了 wsdl 文件,所以我指定了文件路径作为服务位置,然后编辑了应用程序配置。

一切正常,直到客户今天不得不增加安全性,我现在必须指定用户名和密码才能调用他们的服务,而我一无所知。

从客户的 IT 人员的邮件中摘录一些可能有帮助的内容(对我来说主要是希腊语):

“我们将使用行业标准的 WS-Security 用户名令牌来保护服务”“为 WS-Security UNT 使用以下凭据”</p>

我在这里真正能做的就是提供我的“演示代码”,该代码在他们添加安全性之前就可以工作:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="ABCD.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <applicationSettings>
        <ABCD_Login.Properties.Settings>
          <setting name="ABCD_Login_AccessControlService_AccessControlService"
                serializeAs="String">
            <value>https://aaa.bbb.com/something/SecurityFacadeService/AccessControlService</value>
          </setting>
        <ABCD_Login.Properties.Settings>
    </applicationSettings>
</configuration>

var client = new AccessControlService();
bool validUser = client.validate(username, password);

但现在我不知道在哪里以及如何设置调用服务的用户名/密码(不是验证方法的用户名/密码)

任何人?大请!

4

1 回答 1

0

您需要配置 WS-Security 用户名令牌 (UNT)。

这是适合您的好文章:UNT

于 2013-10-07T10:27:02.153 回答