2010-10-25 30 views
8

Ho creato un nome utente/password validatore personalizzato per un servizio WCF e ho eseguito l'oggetto di configurazione customUserNamePasswordValidatorType. Sono riuscito a far funzionare il mio codice seguendo degli esempi, ma non capisco cosa sta succedendo. Sfortunatamente, lo MSDN article non fornisce molti dettagli.Cosa succede con customUserNamePasswordValidatorType?

Questo è l'esempio che Microsoft fornisce:

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

sto cercando di capire quali sono i due parametri sono a customUserNamePasswordValidatorType: "Microsoft.ServiceModel.Samples.CalculatorService.CustomUserNameValidator" e "servizio".

Qualcuno può aiutarmi a capire cosa significano questi parametri?

Grazie!

risposta

10

Questo primo parametro è il nome completo della funzione di validazione personalizzata. Il secondo parametro è il nome del gruppo che la funzione è contenuta in.

Tratto da a much better example di come utilizzare validatori personalizzati (leggermente modificato per adattare il vostro esempio)

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

È possibile che questo sarebbe stato rispettato all'interno di un assemblaggio denominato service.

+0

Ottimo! Grazie! – Jacob

6

La prima parte è il nome completo della classe dallo spazio dei nomi, il secondo è il gruppo la classe è in.

+0

Grazie per l'aiuto! – Jacob

+0

Diretto e preciso, grazie! –

Problemi correlati