Authentication 尽管IIS7.5中有配置,Webservice似乎没有进行任何身份验证 问题

Authentication 尽管IIS7.5中有配置,Webservice似乎没有进行任何身份验证 问题,authentication,web-config,iis-7.5,Authentication,Web Config,Iis 7.5,我有一个WCF Web服务,我在IIS7.5中作为Web服务托管。我希望此服务只能由两个组访问。Web服务正在成功运行,尽管似乎没有进行任何身份验证 我的印象是(已经阅读了大量MSDN页面证明了这一点),真正需要做的就是在应用程序站点上启用Windows身份验证,禁用匿名身份验证,在web.config中将模式设置为Windows,并将允许/拒绝规则添加到授权部分,如下所示: 完成上述步骤和web.config更改后,转到IIS中的授权页面并重新加载身份验证规则后,通过WCFTestclie

我有一个WCF Web服务,我在IIS7.5中作为Web服务托管。我希望此服务只能由两个组访问。Web服务正在成功运行,尽管似乎没有进行任何身份验证

我的印象是(已经阅读了大量MSDN页面证明了这一点),真正需要做的就是在应用程序站点上启用Windows身份验证,禁用匿名身份验证,在web.config中将模式设置为Windows,并将允许/拒绝规则添加到授权部分,如下所示:


完成上述步骤和web.config更改后,转到IIS中的授权页面并重新加载身份验证规则后,通过WCFTestclient调用该服务表明它工作正常。除了我不是这两个团体中的任何一个

问题 看起来它只是让任何人进来。我的问题是:

  • 有没有办法查看Web服务上通过和失败的身份验证检查?(如果是,我可以查看是否正在进行任何类型的身份验证)
  • 上面的说法正确吗?这似乎有点简单,但考虑到微软的方法,设置如此标准的东西相当简单并不牵强
  • 底线 我有一个带有上述web.config文件的服务,以及一个安装并启用了Windows身份验证的IIS7.5实例。已禁用匿名身份验证。授权规则是为两个组定义的,可以访问,所有其他组都可以被拒绝,尽管我在这些组中,但我可以访问服务

    编辑: 因此,我似乎有认证工作。如果我只有“允许所有用户”规则,我就可以访问Web服务。如果我执行拒绝所有用户规则,我将不再具有访问权限。但是,如果我添加我的帐户(“domain\MyAccount”作为允许(无论在web.config中的位置如何),我仍然没有访问权限

    我改变了什么来这里, 在服务定义中添加了以下内容:

    _
    
    将以下内容添加到web.config:

    
    


    好吧!显然,我在原始帖子中采取的步骤实际上还不够。您必须将AspNetCompatibilityRequirements属性添加到服务类(实现您的服务iterface)中,您必须将aspNetCompatibility属性添加到serviceHostingEnvironment标记中:

    
    
    而且,似乎没有人提到的一点是,您的允许/拒绝规则的顺序会有所不同。在拒绝所有用户之后添加一个Allow,意味着所有用户仍然被拒绝。将它放在前面意味着除了允许中的用户之外,所有用户都被拒绝