2016-03-03 30 views
0

我正在使用的项目使用C#WebAPI 2,并且用于对所有内容使用Windows Active Directory身份验证。我们正尝试使用AuthorizationFilterAttribute转换到基本身份验证,但IIS Express使这非常困难。最初的任何请求与基本身份验证与获得401.2响应,因为基本身份验证未启用。为了解决这个问题我补充说:IIS Express停止所有基本身份验证

<basicAuthentication enabled="false" /> 

对ApplicationHost.config。现在,所有使用基本身份验证标头的请求都会得到401.1错误,就像IIS Express尝试自行验证请求一样,而不会通过该属性。

我创建了一个空白的项目,并尝试相同的设置,它工作正常!我比较了applicationhost.config,web.configGlobal.asax.cs这两个项目,一切看起来都是一样的。所以我无法弄清楚为什么IIS Express不能与最初的项目合作。

我应该看看其他文件/配置设置以解决问题吗?

+0

启用基本身份验证的IIS Express当然会使用自己的模块来执行基本身份验证。你为什么认为应该通过你的代码? –

回答

1

您可能需要查看App_Start/Startup.Auth.cs。如果它使用OWIN,则需要将基本验证模块添加到管道。

0

您是否检查了身份验证模式以确保它未设置为“Windows”?

<authentication mode="Forms">