WCF 和自定义 Soap 身份验证

标签 wcf authentication soap

我正在使用 WCF 开发一个服务器应用程序来为客户端公开 WebService 端点。我想通过一个简单的自定义提供程序实现身份验证,该提供程序将使用通过 SOAP header 传递的用户名和密码。我知道如何设置要在客户端发送的用户名和密码,我只想知道如何从服务器端的 SOAP header 中提取用户名和密码。任何帮助将不胜感激。

最佳答案

需要在服务行为中指定用户名和密码验证器

<behavior name="MyServiceBehavior">
  <serviceCredentials>
    <userNameAuthentication userNamePasswordValidationMode="Custom"
      customUserNamePasswordValidatorType="MyNamespace.MyUserNamePasswordValidator, MyDll" />
  </serviceCredentials>
</behavior>

您可以从 MyUserNamePasswordValidator 类访问用户名和密码

public class MyUserNamePasswordValidator : UserNamePasswordValidator
{
    public override void Validate( string userName, string password )
    {
        // valid your password here 
    }
}

关于WCF 和自定义 Soap 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321764/

相关文章:

java - Apache CXF 客户端代理设置

c# - 使用 WCF 时区困惑

c# - 将 header 添加到 .Net 3.5 WCF 客户端

http - groovy - 下载带身份验证的文件

php - CakePHP 2.0 帐户验证

web-services - 用于测试目的的 SOAP 服务器

c - 是否可以从非托管 C(ZigBee 设备)调用 WCF 4.0(SOAP 或 REST)?

multithreading - 当多个客户端调用WCF服务时,一个或多个AppDomains在服务器端创建了吗?

authentication - 由于 'Unable to load host key',无密码 ssh 身份验证失败

eclipse - WSDL : java. lang.NoClassDefFoundError 的代码生成期间发生异常:org/apache/ws/commons/schema/utils/NamespacePrefixList