我要做:
在web.config单击“开始”,指向“管理工具”,然后单击“Internet” 信息服务(IIS)管理器。在“连接”窗格中,展开 服务器名称,展开“站点”,然后选择站点,应用程序 或要为其启用扩展保护的Web服务 Windows身份验证。滚动到主页中的“安全”部分 窗格,然后双击身份验证。在身份验证中 窗格,选择Windows身份验证。单击“操作”中的“启用” 窗格。单击“操作”窗格中的“高级设置”。
<authentication mode="Windows" />
中设置后
如果我从VS2010启动应用程序 - 一切正常 如果我从IIS启动应用程序我有问题。 请求的用户数据我输入Computer \ NameUser。 然后是一个错误:
错误HTTP 401.2 - 未经授权您无权查看此页面 因为认证标题不可接受。
更新
UPDATE2: file:C:\ Windows \ System32 \ inetsrv \ config \ applicationhost.config
<location path="windowsAuthTest">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" userName="User" password="[enc:AesProvider:BZ7e2mkTjJL7Wo8xMm2PQKZ2biP1nKB2SjAfw9WmJoBhkMbl4DYqEJU0bzIj3CxF:enc]" />
<windowsAuthentication enabled="true" useKernelMode="false">
<extendedProtection tokenChecking="None" />
<providers>
<clear />
<add value="NTLM" />
<add value="Negotiate" />
</providers>
</windowsAuthentication>
</authentication>
</security>
</system.webServer>
</location>
答案 0 :(得分:0)
之后,您可以访问网站的安全性,您必须为用户窗口添加权限。
答案 1 :(得分:0)
查看我的previous answer。
基本上,这意味着身份验证票证与服务器的期望不匹配。
您应该强制服务器使用NTML或Kerberos(取决于您的身份验证策略)。
[编辑] 因为appcmd可能有点模糊,这里是强制NTLM身份验证的手动停止。
C:\Windows\System32\inetsrv\config
<location path="Your web site name/yourapplication">
设置正确的身份验证提供程序:
重要的是有<clear />
节点。这将破坏全局配置的继承。
这可以应用于整个IIS服务器或特定网站,或者(如此处)特定的Web应用程序。)
我不确定,但我想知道是否可以直接在应用程序中的web.config中设置,而不是IIS配置文件。这值得测试。