Что происходит с customUserNamePasswordValidatorType?

Я создавал пользовательский валидатор имени пользователя/пароля для службы WCF и запускал элемент конфигурации customUserNamePasswordValidatorType. Я смог заставить свой код работать, следуя примерам, но я просто не понимаю, что происходит. К сожалению,статья MSDN не дает много деталей.

это образец, который предоставляет Microsoft:

<serviceCredentials>
  <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Microsoft.ServiceModel.Samples.CalculatorService.CustomUserNameValidator, service" />
</serviceCredentials>

Я пытаюсь понять, для чего нужны эти два параметра customUserNamePasswordValidatorType: "Microsoft.Средство servicemodel.Образцы.CalculatorService.CustomUserNameValidator " и "сервис".

может кто-нибудь помочь мне понять, что означают эти параметры?

спасибо!

2 ответов


этот первый параметр является полным именем функции пользовательской проверки. Второй параметр-это имя сборки, в которой содержится функция.

принято от гораздо лучше, например о том, как использовать пользовательские валидаторы (слегка измененные в соответствии с вашим примером)

namespace Microsoft.ServiceModel.Samples.CalculatorService
{
    public class CustomUserNameValidator : UserNamePasswordValidator
    {
     // This method validates users. It allows in two users, 
     // test1 and test2 with passwords 1tset and 2tset respectively.
     // This code is for illustration purposes only and 
     // MUST NOT be used in a production environment because it 
     // is NOT secure.
     public override void Validate(string userName, string password)
     {
      if (null == userName || null == password)
      {
       throw new ArgumentNullException();
      }

      if (!(userName == "test1" && password == "1tset") && !(userName == "test2" && password == "2tset"))
      {
       throw new FaultException("Unknown Username or Incorrect Password");
       }
      }
     }
}

вышеуказанное будет выполнено внутри сборки с именем service.


первая часть-это имя класса, полностью квалифицированное пространством имен, вторая-сборка, в которой находится класс.