【发布时间】:2015-06-02 07:09:38
【问题描述】:
我正在用 C# 和 .NET Framework 4.5.1 开发一个带有 Web Api 服务的 ASP.NET MVC 5 应用程序。
我在 Web.config 上启用了 <authentication mode="Windows" /> 并在 ASP.NET MVC 控制器上添加了以下内容:
[Authorize(Roles = @"MyDomain\MyRole")]
public class ReportController : Controller
但我不需要ApiController 上的 Windows 身份验证。如何启用对ApiControllers 的匿名访问?
【问题讨论】:
-
您应该能够匿名使用 api 控制器,除非您在控制器方法/类上指定了
[Authorize]属性。 -
我之所以这么问,是因为我在 IIS 7 上遇到了此配置的问题。在我将
<authentication mode="Windows" />禁用为<authentication mode="None" />后,我使用ApiControllers没有问题。跨度> -
如果你在一个特定的 URL 中暴露你的 api,你可以使用前面评论问题的解决方案:允许匿名访问 web.config 中的特定位置。如果这对您不起作用,请告诉我。
标签: asp.net asp.net-mvc asp.net-web-api active-directory windows-authentication