WCF和自定义Soap身份验证

时间:2008-11-26 18:58:58

标签: wcf authentication soap

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

1 个答案:

答案 0 :(得分:3)

您需要在服务行为

中指定用户名和密码验证程序
<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 
    }
}