如何正确设置web.config中的Windows身份验证

时间:2014-01-29 11:32:22

标签: c# asp.net iis web-config windows-authentication

我对如何设置Windows身份验证感到困惑。在asp.net 4.5中我应该只在没有在web.config中设置任何配置的情况下从IIS中执行此操作,还是应该从web.config执行此操作而不在IIS中设置任何内容

我在Windows 8.1和IIS 8.5上使用asp.net表单4.5。

子问题:当我从iis设置它时,通过禁用匿名身份验证可以正常工作。并启用Windows身份验证。 但是,当我尝试从web.config中单独执行它时,它将无法正常工作。 我这样做

<authentication mode="Windows" />
<authorization>      
    <deny users="?" />
</authorization>

我在IIS中保留默认配置 什么是happing是我一直得到访问被拒绝 我原本希望我的本地帐户登录,但我只是访问被拒绝

我不在域

2 个答案:

答案 0 :(得分:1)

默认情况下,身份验证部分在IIS级别锁定,因此如果您从IIS管理器UI进行任何更改,则更改将写入 C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config < / strong>即可。这称为feature delegation

如果您转到IIS管理器并在功能委派中启用身份验证 - Windows * 读/写 *权限,则从IIS进行更改Windows身份验证管理器将写入 web.config 。您也可以修改 web.config 以启用 Windows身份验证

答案 1 :(得分:0)

我误解了IIS和ASP.NET之间关系的本质

我读到了它,我发现它应该从两者中设置,这取决于我将要使用的身份验证

例如,如果我使用的是Windows身份验证,我必须首先从IIS设置它,然后从web.config设置它,只是因为IIS将首先验证请求并将身份验证令牌传递给应该设置的asp.net身份验证模块web.config