Yalnızca belirli kullanıcılar için IIS'de barındırılan WCF web servisine nasıl erişilir?

Windows kimlik doğrulaması kullanan bir web servisim var. Web Hizmeti, IIS'de barındırılmaktadır. Bu web hizmetine erişimi yalnızca belirli kullanıcılara daraltmak mümkün mü? Mevcut web yapılandırmam:


  
    
    
  



  
    
      
      
        <transport clientCredentialType="Windows" />
      
    
  

Bu arada, internette bulduğum, buna benzer bir çözüm denedim:

    

    

          

          

          

    

Yine de çalışmıyor. :( Tüm etki alanı kullanıcılarının geçmesine izin veriyor.

6
Evet, bunu yaptım.
katma yazar neurotix, kaynak
IIS'de WCF hizmetinizi barındıran uygulama için anonim kimlik doğrulamasını ve Windows kimlik doğrulamasını devre dışı bıraktınız mı?
katma yazar Johannes Kommer, kaynak

1 cevap

Wrox'un Profesyonel WCF 4 , Ch'de Kullanıcı Adı/Şifre kimlik doğrulaması kurmanın bir yolunu açıklar. 8. Özetlemek gerekirse, özel bir doğrulayıcıya ihtiyacınız vardır:

public class MyCustomUserNamePasswordValidator : UserNamePasswordValidator
{
   public override void Validate(string userName, string password)
   {
     if(userName != "foo" && password != "bar") 
     {
        throw new SecurityTokenValidationException("Invalid user");
     }
   }
}

Bundan sonra, userNameAuthentication öğenizi hizmet yapılandırmasında "Özel" olarak değiştirmeniz ve doğrulayıcıyı tanımlamanız gerekir:

 

Umarım bu yardımcı olur.

4
katma
Tamam, ama deneyin, ama ben gerçekten WS kodu değiştirmeden işe yaramazsınız inanmıyorum. Hala web yapısını değiştirerek çalışmamı umuyordum.
katma yazar neurotix, kaynak