2010-10-25 2 views
8

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

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

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

Я пытаюсь понять, что эти два параметра являются customUserNamePasswordValidatorType: «Microsoft.ServiceModel.Samples.CalculatorService.CustomUserNameValidator» и «сервис».

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

Спасибо!

ответ

10

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

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

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.

+0

Отлично! Спасибо! – Jacob

6

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

+0

Спасибо за помощь! – Jacob

+0

Прямой и точный, спасибо! –

Смежные вопросы