mol*_*04x 5 authentication iis windows-authentication asp.net-web-api
我正在设计一个WebAPI服务,它必须对客户端的AD服务器使用Windows身份验证.我正在尝试在本地测试这个并且不断收到401错误,然后服务器因为凭据无效而根本不允许请求.我正在IIS 8.5本地进行本地测试(安装在Windows 8.1盒子上).在IIS中,我使用以下提供程序启用了Windows身份验证:
此外,我禁用了内核模式身份验证,因为当我启用内核模式和协商时,IIS会对我大喊:kerberos.扩展保护也被禁用.
在我的配置中,我将授权规则设置为允许所有用户,并且身份验证模式设置为"none":
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
然后在webapi的控制器中,我将[Authorize]
属性放在所有控制器上:
[Authorize]
[RoutePrefix("api/Workorder")]
public class WorkorderController : ApiController
{
...
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么每次我尝试访问API方法时都会遇到401挑战吗?
提前致谢!
<authentication mode="None" />
Windows,这没有帮助.我也从我的Windows身份验证提供程序中删除了NTLM,因为我的计算机不在域上,因此NTLM不起作用.
我还通过fiddler观察了请求流,我能够看到一系列4个请求,每个请求都尝试使用Negotiate方法进行身份验证,并且似乎有来回传递的kerberos票证.
归档时间: |
|
查看次数: |
3222 次 |
最近记录: |