【发布时间】:2016-06-17 06:41:48
【问题描述】:
我正在处理的项目使用 C# WebAPI 2,并且曾经对所有内容使用 Windows Active Directory 身份验证。我们正在尝试使用AuthorizationFilterAttribute 转换到基本身份验证,但是 IIS Express 使这变得非常困难。最初,任何带有基本身份验证的请求都会得到401.2 响应,因为没有启用基本身份验证。为了解决这个问题,我添加了:
<basicAuthentication enabled="false" />
到 applicationhost.config。现在,所有带有 Basic auth 标头的请求都会收到 401.1 错误,就好像 IIS Express 尝试验证请求本身,而不通过属性一样。
我创建了一个空白项目并尝试了相同的设置,但效果很好!我比较了两个项目的applicationhost.config、web.config和Global.asax.cs,一切看起来都一样。所以我不明白为什么 IIS Express 不配合初始项目。
我应该查看哪些其他文件/配置设置来解决这个问题?
【问题讨论】:
-
启用基本身份验证的 IIS Express 当然使用自己的模块来执行基本身份验证。为什么你认为应该通过你的代码?
标签: c# asp.net authentication iis asp.net-web-api