繁体   English   中英

IIS中的WCF:WCF执行的基本授权

[英]WCF in IIS: basic authorization performed by WCF

我在IIS中托管WCF服务,并且正在使用基本授权。 当IIS执行授权时,我的WCF服务无法判断是否允许特定用户。 不幸的是,我必须支持已启用用户名的列表。 该服务和元数据必须仅对列表中的用户可用,而对其他用户不可用。 仅使用基本授权怎么办? 消息授权不是一种选择,因为我无法控制服务使用者。

澄清:我可以将Windows用户分配给该服务,从而限制对特定组的访问。 我要实现的是允许该服务以编程方式限制对特定用户的访问。 由于IIS自行执行身份验证,因此无法使用使用UserNamePasswordValidator的幼稚方法。

在我看来,您可能会混淆两个独立的问题:

在您的情况下将传输安全性与WCF一起使用时,IIS将执行Authentication 这仅验证指定的用户名/密码在身份验证上下文(本地计算机或域)中是否为有效组合。

但是,您要做的是使用“ 授权”来控制通过身份验证的用户是否有权访问您的服务。 这是一个单独的关注,其中WCF 确实有在这个控制。 您要做的是设置一个授权策略,该策略仅向您想要的用户授予对服务的访问权限。

默认情况下,这将基于Windows组成员身份来完成,但是如果这不太适合您的方案,则可以自定义在WCF级别的发生方式,例如使用ASP.NET角色成员资格提供程序,甚至使用自定义角色提供者。

以下两篇文章应为您指明正确的方向:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM