ASP.NET MVC 和 WCF 服务安全 - 身份验证、路由
Posted
技术标签:
【中文标题】ASP.NET MVC 和 WCF 服务安全 - 身份验证、路由【英文标题】:ASP.NET MVC and WCF Service Security - Authentication, Routing 【发布时间】:2011-11-10 18:59:44 【问题描述】:我在 ASP.NET MVC Web 应用程序中托管 WCF 服务。我希望 WCF 服务只能由经过身份验证的用户访问。将下面的配置代码添加到 web.config 文件中并没有得到想要的结果:
<location path="Services/MyService.svc">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
我应该如何拒绝未经身份验证的用户访问此服务?
【问题讨论】:
在非 ASP.NET MVC 项目中进行测试具有相同的结果。正如我之前假设的那样,这可能不是由 MVC 引起的。 我可能错了,但我认为 Asp.Net 的角色系统不会为 WCF 请求执行 - 我认为您可能必须使用 WCF 安全性(哦,真有趣) 【参考方案1】:我能够通过在“~/Services”目录本身而不是网站根目录中的 Web.Config 添加包含授权规则的 Web.Config 文件来解决此问题。
~/Services/Web.Config
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
【讨论】:
以上是关于ASP.NET MVC 和 WCF 服务安全 - 身份验证、路由的主要内容,如果未能解决你的问题,请参考以下文章
表单身份验证、ASP.NET MVC 和 WCF RESTful 服务
在 .NET 中开发新的 RESTful Web 服务——我应该从哪里开始? ASP.NET-MVC,WCF?