2012-03-20 2 views
0

사용자 인증을 위해 사용자 지정 UserNamePasswordValidator를 사용하고 있습니다. 다음은 코드이며 잘 작동합니다.UserNamePasswordValidator가 SOAP 헤더에서 username password를 읽는 방법은 무엇입니까?

이 메서드는 SOAP 헤더에서 UserNameToken의 사용자 이름과 암호를 얻는 방법을 알고 싶습니다.

public class DistributorValidator : UserNamePasswordValidator 
    { 
     public override void Validate(string userName, string password) 
     { 
      if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password)) 
      { 
       throw new FaultException("Username and password required", new FaultCode("9001")) 
................ 

답변

0

WCF 로깅을 켜거나 (Fiddler를 사용하여) 비누 메시지가 어떻게 나타나는지 확인해야합니다. 거기에서 토큰을 볼 수 있습니다. WCF는 메시지에서 자격 증명을 추출하는 꽤 복잡한 모델을 가지고 있습니다. 보안 헤더에 대한 (비) 직렬자가 있으며 각 토큰 (사용자 이름, x.509 등)은 자체 디시리얼라이저를 가지고 있습니다.