【问题标题】:Web config windows authorization. Works on deployment but not locally. ASP.netWeb 配置窗口授权。适用于部署,但不适用于本地。 ASP.net
【发布时间】:2014-03-14 15:43:45
【问题描述】:

我部署了一个使用 Windows 授权的 Web 应用程序。它工作正常,但是当我在本地复制它时,我收到了错误 401.2(拒绝访问)。我的用户已经获得授权,可以访问已部署的版本,但不能访问本地版本。我需要有一个可用的本地版本,因为在本地机器上开发和部署而不是在服务器机器上开发是更好的做法。

Web.config 提取如下...

<?xml version="1.0"?>

<configuration>
  <connectionStrings>
    <!--Connection strings here-->
  </connectionStrings>
  <system.web>
    <compilation debug="true">
      <assemblies>
    <!--Assemblies here-->
      </assemblies>
    </compilation>
    <authentication mode="Windows"/>
    <identity impersonate="false"/>
    <customErrors mode="Off"/>
    <authorization>
      <deny users="?"/>
    </authorization>
    <roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>
  </system.web>
  <system.webServer>
    <directoryBrowse enabled="true"/>
    <defaultDocument>
      <files>
        <add value="Home.aspx"/>
      </files>
    </defaultDocument>
    <httpRedirect enabled="false" destination="http://report.com/"/>
  </system.webServer>
  <location path="Functions/AdminConfiguration.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/BusinessAccountReportConfig.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/BusinessAccountRebateConfiguration.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/Watchlists.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam,Finance"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/MappingTablesConfiguration.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/Transactions.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/Administration.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Functions/IPSReports.aspx">
    <system.web>
      <authorization>
        <allow roles="DataTeam"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
  <appSettings>
  </appSettings>
</configuration>

【问题讨论】:

    标签: asp.net windows web authorization config


    【解决方案1】:

    您需要在 Visual Studio 中启用 Windows 身份验证。为此,请确保您的项目在解决方案资源管理器中处于活动状态,然后单击属性。您将需要启用 Windows 身份验证,然后禁用匿名身份验证。那应该这样做。

    【讨论】:

    • 谢谢伙计。不知道为什么他们需要在 IDE 和配置上进行设置。
    • 是的,在 IDE 中,您实际上是在更改 IIS Express 的设置。您还可以通过其他几种方式更改设置,但我发现这是最简单的,因为我总是在 IDE 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2020-01-17
    相关资源
    最近更新 更多