【问题标题】:How can I set windows authenication from web.config properly如何从 web.config 正确设置 Windows 身份验证
【发布时间】:2014-01-29 11:32:22
【问题描述】:

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

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

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

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

我在 IIS 中保留默认配置 正在发生的事情是我不断收到访问被拒绝 我希望我的本地帐户登录,但我刚刚获得访问被拒绝

我不在域中

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我给了你+1,因为你的回答让我知道了新事物,但实际上不是我想要的,你仍然没有回答我的问题,我应该在哪个地方做,为什么要设置 asp。网络身份验证部分到 Windows 模式不起作用
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      • 2018-02-14
      • 2017-09-06
      • 1970-01-01
      相关资源
      最近更新 更多