2010-10-25 25 views
8

Bir WCF hizmeti için özel bir kullanıcı adı/parola doğrulayıcı oluşturuyordum ve customUserNamePasswordValidatorType yapılandırma öğesinde rastladım. Kodlarımın örneklerini izleyerek çalışabildim, ancak neler olduğunu anlamıyorum. Ne yazık ki, MSDN article çok fazla ayrıntı sağlamıyor. "Microsoft.ServiceModel.Samples.CalculatorService.CustomUserNameValidator" ve "hizmet": İki parametre customUserNamePasswordValidatorType için ne anlamaya çalışıyorumcustomUserNamePasswordValidatorType ile neler oluyor?

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

:

Bu, Microsoft sağladığı örneğidir.

Birisi bu parametrelerin ne anlama geldiğini anlamama yardımcı olabilir mi?

Teşekkürler!

cevap

10

Bu birinci parametre işlevi özel doğrulama alanının tam adıdır. İkinci parametre işlevi bulunan bu montaj adıdır.

(sizin örnek sığdırmak için biraz değiştirilmiş) özel doğrulayıcılarını

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"); 
     } 
     } 
    } 
} 

nasıl kullanılacağına dair a much better example yukarıda bir iç uyulması olur Alınan montaj service olarak adlandırılmıştır.

+0

Harika! Teşekkür ederim! – Jacob

6

birinci kısmı tamamen ad tarafından nitelikli sınıf adı, ikinci sınıf içinde düzeneğidir.

+0

Yardımlarınız için teşekkürler! – Jacob

+0

Doğrudan ve doğru, teşekkürler! –

İlgili konular