我需要从web.config
启用Windows身份验证,而不在IIS中设置。
我在web.config
:
authentication mode="Windows
identity impersonate="true
但是Windows身份验证无效。我该如何解决这个问题?
答案 0 :(得分:7)
如果你的意思是从Visual Studio(IISExpress而不是IIS)运行项目,那么你可以尝试执行以下操作:
在Visual Studio中 - >单击项目的根目录 - >按F4以打开属性窗格 - >查找“Windows身份验证”并标记为“已启用” - >运行你的项目。
答案 1 :(得分:7)
对于IIS Express
你可以在这里设置它。您可能还希望禁用匿名访问
适用于IIS
我发现有必要在system.webServer
<system.webServer>
[…]
<security>
<authentication>
<anonymousAuthentication enabled="false"/>
<windowsAuthentication enabled="true"/>
</authentication>
</security>
</system.webServer>
这与@Dimitar建议几乎完全相同 - 使用IIS管理器更改设置。区别在于配置文件避免了手动步骤 - 但是下一步添加:
注意:强>
默认情况下, IIS功能委派锁定其中一些设置(基本和Windows身份验证),因此您需要转到IIS服务器的根目录,并启用它们< EM>读/写。 E.g:
答案 2 :(得分:4)
不幸的是,您必须使用IIS来启用Windows身份验证。您无法单独在Web.config中执行此操作。 (至少达到IIS 8.5,这篇文章的当前版本。)
这是因为用于启用Windows身份验证的Web.config元素(<system.webServer><security><authentication><windowsAuthentication>
)只能在applicationHost.config(C:\ Windows \ System32 \ inetsrv \ config)中定义。
答案 3 :(得分:1)
如果IIS上没有安装Windows身份验证,它将无法正常工作。如果安装了web.config中的设置应该没问题