Что происходит с 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
.
первая часть-это имя класса, полностью квалифицированное пространством имен, вторая-сборка, в которой находится класс.