【问题标题】:Securing WCF (asmx) Call From Azure Function保护来自 Azure 函数的 WCF (asmx) 调用
【发布时间】: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>

【问题讨论】:

    标签: c# azure wcf


    【解决方案1】:

    通常,Azure 函数是公共的。您部署它们,并且端点可通过函数上的地址公开使用。

    因此您可以设置功能级别访问权限。这意味着您需要传递访问密钥。 还有一些其他方法可以保护 Azure Functions。您可以参考以下链接:

    https://docs.microsoft.com/en-us/azure/azure-functions/security-concepts

    谢谢。

    【讨论】:

    • 谢谢,但我已确保该功能;通过访问密钥。尝试保护从 Azure 函数对 WCF 的调用。 WCF 安全是问题所在。
    • 如果此解决方案有其他问题,您可以阅读文档并尝试其他方式。
    猜你喜欢
    • 2021-09-23
    • 2012-04-17
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多