2015-05-28 10 views
5

Potrzebuję coś uruchomić przed UserNamePasswordValidator.Validate(username, password) jest wywoływana dla każdego żądania WCF.Czy istnieje punkt rozszerzenia WCF, który jest wywoływany przed UserNamePasswordValidator?

Próbowałem już użyć IDispatchMessageInspector, ale inspektor jest wywoływany po UserNamePasswordValidator.Validate.

Czy istnieje punkt rozszerzenia WCF, który jest wywoływany przed UserNamePasswordValidator?

+0

Czy [to], (http://blogs.msdn.com/b/tdevere/archive/2014/10/13/implement-a-usernamepasswordvalidator-for-wcf-service-hosted-in -iis.aspx) pomóc? –

+0

@ Christian.K Sry, nie wiem, jak to mogłoby mi pomóc. – Rookian

+0

W zależności od tego, co chcesz zrobić, możesz wprowadzić własną walidację lub dodać logikę przed standardową walidacją. – Peter

Odpowiedz

0

Kiedyś spotkałem się z podobną sytuacją. W efekcie wykonałem niestandardową klasę sprawdzania poprawności nazwy użytkownika i hasła. Uruchomiłem kod, który musiałem, a następnie uruchomiłem prawidłowy walidator nazwy użytkownika/hasła.

public override void Validate(string userName, string password) 
{ 
    // your custom code here... 

    // then... 
    base.Validate(userName, password); 
} 

Zgodnie z tym, co opisujesz, pobieranie wartości konfiguracyjnych na każde żądanie można bardzo dobrze wykonać w ten sposób.

Check out this MSDN page to see how to implement a custom username/password validator.

+0

Zakładam, że * chcesz * użyć bazy. Validate (...), jeśli nie, to nie używaj go. –