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