2013-08-06 43 views
0

我有一个使用表单身份验证的webforms应用程序(4.5)。在应用程序中有一个使用基本身份验证的web api控制器。 (使用http://www.west-wind.com/weblog/posts/2013/Apr/18/A-WebAPI-Basic-Authentication-Authorization-Filter)。问题基本身份验证和授权标头

在web.config中

位置标签设置为允许匿名用户的网络API控制器是在文件夹中。

现在,使用IIS快速从VS2k12,一切工作正常,我打电话与HttpClient的到api,并且获得一些结果,如果我发送正确的课程证书。

然而,当我把我的应用程序在IIS7(我的Win7亲dev的机器)的验证过滤器被调用,但授权头是空!!!!!

我在IIS7上安装并启用了基本身份验证,就像Form Auth一样。和匿名认证,与Windows验证禁用?

有人有线索吗?

编辑:看来我收到来自的Login.aspx页面的HTML过滤器给出了401回来后,因为没有授权头。

感谢, 亨克

回答

0

相信你的授权过滤器击中?我的猜测是,它没有。由于您在IIS中启用了基本身份验证,因此IIS会在Authorization标头中提取凭证并根据Windows域对其进行验证。如果您在标题中发送凭据不是Windows凭据,此验证将失败,将会有401既然您已启用窗体身份验证,获得定向到loginn.aspx。如果您想实现自己的基本身份验证,请在IIS中禁用基本身份验证。

+0

它被击中,调试器在那里停止,但auth头为空,IIS,而不是IIS express – Henk