C# IIS中的WCF:由WCF执行的基本授权
我是IIS中WCF服务的主机,正在使用基本授权。由于IIS正在执行授权,我的WCF服务无法判断是否允许特定用户。 不幸的是,我必须支持已启用用户名的列表。服务和元数据必须仅对列表中的用户可用,而不是对其他用户可用。这怎么可能,只使用基本授权?消息授权不是一个选项,因为我无法控制服务使用者 澄清:C# IIS中的WCF:由WCF执行的基本授权,c#,wcf,iis,wcf-security,C#,Wcf,Iis,Wcf Security,我是IIS中WCF服务的主机,正在使用基本授权。由于IIS正在执行授权,我的WCF服务无法判断是否允许特定用户。 不幸的是,我必须支持已启用用户名的列表。服务和元数据必须仅对列表中的用户可用,而不是对其他用户可用。这怎么可能,只使用基本授权?消息授权不是一个选项,因为我无法控制服务使用者 澄清: 我可以将Windows用户分配到该服务,从而限制对特定组的访问。我想要实现的是允许服务以编程方式限制特定用户的访问。无法使用使用UserNamePasswordValidator的简单方法,因为IIS自
我可以将Windows用户分配到该服务,从而限制对特定组的访问。我想要实现的是允许服务以编程方式限制特定用户的访问。无法使用使用UserNamePasswordValidator的简单方法,因为IIS自己执行身份验证。在我看来,您可能混淆了两个不同的问题: 在您的案例中使用WCF的传输安全性时,IIS将执行身份验证。这只是验证指定的用户名/密码是否是身份验证上下文(本地计算机或域)中的有效组合 但是,您要做的是使用授权来控制经过身份验证的用户是否有权访问您的服务。这是一个单独的关注点,WCF对此有控制权。您要做的是设置一个授权策略,只向您想要的用户授予对服务的访问权限 默认情况下,这将基于Windows组成员身份进行,但如果这不适合您的场景,您可以自定义在WCF级别如何进行,例如使用ASP.NET角色成员身份提供程序,甚至使用自定义角色提供程序 以下两篇文章应该为您指出正确的方向: