【发布时间】:2021-09-24 17:55:16
【问题描述】:
目前,代码从 Azure Function 调用 WCF 方法,一切正常。
现在的任务是 WCF 没有安全性。我需要保护 WCF,然后让客户端(Azure 函数)实现相同的安全性。
客户端和主机的语言都是 C#。
问题是; Azure Functions 没有要在终结点和安全性中添加的配置文件。我尝试通过代码添加它;
PortalServicesSoapClient psSoapClient = new PortalServicesSoapClient(new
PortalServicesSoapClient.EndpointConfiguration(), url);
psSoapClient.ClientCredentials.UserName.UserName = "MyUsername";
psSoapClient.ClientCredentials.UserName.Password = "MyPassword";
到主机.asmx
public class AuthHeader : SoapHeader
{
public string UserName;
public string Password;
}
导致 AuthHeader 为空。
使用 Postman 进行测试确实成功传递了用户名和密码,但不是来自 Azure 函数。
邮递员的部分脚本
<soap12:Header>
<AuthHeader xmlns="http://tempuri.org/">
<UserName>MyUsername</UserName>
<Password>MyPassword</Password>
</AuthHeader>
</soap12:Header>
【问题讨论】: