当前位置:  开发笔记 > 开发工具 > 正文

IIS在IIS + TransportCredentialOnly/Windows auth中在basicHttpBinding中托管WCF服务+ Windows身份验证

如何解决《IIS在IIS+TransportCredentialOnly/Windowsauth中在basicHttpBinding中托管WCF服务+Windows身份验证》经验,为你挑选了2个好方法。

我想创建一个在IIS6中托管的WCF服务,并在IIS中禁用匿名身份验证.并且不要使用SSL.

所以我唯一的方法是使用basicHttpBinging TransportCredentialOnly,不是吗?

我创建一个虚拟目录,设置Windows Integrated Auth并取消选中"启用匿名访问".

这是我的web.config:


        
            
                
                    
                        
                    
                
            
        
        
            
                
                
            
        
    
        
            
                
            
        
    

您可以看到我甚至没有将MEX-enpoint包含在元数据交换中.使用TransportCredentialOnly安全性只有一个端点和一个绑定.

但是当我尝试启动服务(通过客户端代理调用方法)时,我在EventLog中遇到了这样的异常:

异常:System.ServiceModel.ServiceActivationException:由于编译期间发生异常,无法激活服务'/wcftest/ServiceFacadeService.svc'.异常消息是:该服务的安全设置需要"匿名"身份验证,但它没有为承载此服务的IIS应用程序启用.. ---> System.NotSupportedException:该服务的安全设置需要"匿名"身份验证,但它没有为承载此服务的IIS应用程序启用.

我不知道为什么我的服务需要Anonymous auth?为什么?



1> Shrike..:

答案发现了jezell.谢谢.我混合了bindingName和bindingConfiguration:



那就对了:





2> Sixto Saez..:

MEX终结点可能仍然是问题(见本岗位).尝试禁用这样的MEX:


    
    
        
        
        
    



    
        
            
            
        
    

这是关于保护MEX 的好帖子.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有