【发布时间】:2011-03-19 03:10:25
【问题描述】:
我知道要让 WCF 与成员资格提供商合作,您必须明确配置它:(例如 http://www.codewrecks.com/blog/index.php/2009/09/08/use-aspnet-membership-provider-with-a-wcf-svc-service/)
但是如果您已经有 ASP.NET 站点在使用它,您不能通过执行以下操作来阻止对服务的匿名访问吗?
<location path="PathToWCFService">
<system.web>
<authorization>
<deny users"?" />
<allow users="*" />
</authorization>
</system.web>
</location>
假设这可行,那么我猜 WCF 将无法访问会员信息?为什么这可能是一个坏主意的任何其他原因?谢谢!
编辑:是否有其他方法可以将 WCF 与不需要维护证书的成员资格提供程序一起使用?
【问题讨论】:
-
不,你不能 - WCF 确实不以任何方式、形状或形式与 ASP.NET 绑定,并且默认情况下不使用 ASP.NET 处理管道。毕竟:您的 WCF 服务可以托管在 Windows 服务或控制台应用程序中 - 任何地方都没有 ASP.NET 的踪迹。所以不 - 你必须明确定义你的 WCF 安全 - 恐怕没有来自 ASP.NET 的“涓滴”......
-
@marc_s - 我在想 IIS 实际上可能是处理访问的那个,但它是 ASP.NET 是有道理的。毕竟,提供程序代码是在 .NET 中的。但是在那种情况下,为什么身份验证对静态文件有效?换句话说,如果我有一个没有 ASP.NET 页面的“Images”目录,我可以在 web.config 中控制访问。静态文件是否通过 ASP.NET 管道?
-
@marc_s - 你对我的回答有何看法?
标签: .net wcf asp.net-membership