代码之家  ›  专栏  ›  技术社区  ›  Rodrigo Waltenberg

我的ASP.NET带有表单身份验证的MVC2应用程序甚至阻止了对图像、样式和脚本的访问

  •  5
  • Rodrigo Waltenberg  · 技术社区  · 14 年前

    脚本、图像和样式都被阻止给未标记的用户,因此,登录页面看起来很糟糕。

    它在本地工作得很好,问题是当我发布到服务器时。

    我的 :

    <configuration>
      <system.web>
        <globalization culture="pt-BR" uiCulture="pt-BR" />
        <httpRuntime requestValidationMode="2.0"/>
        <customErrors mode="Off" />
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
          </assemblies>
        </compilation>
    
        <pages>
          <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="Admin.Models" />
          </namespaces>
        </pages>
    
        <authentication mode="Forms">
          <forms name="AGAuth" loginUrl="~/Home/Login" timeout="120" />
        </authentication>
      </system.web>
    
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
      </system.webServer>
    
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    
      <connectionStrings>
          <add name="DBContainer" connectionString="metadata=res://*/Database.DB.csdl|res://*/Database.DB.ssdl|res://*/Database.DB.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=thewebserver.com,5158;Initial Catalog=thedatabase;Persist Security Info=True;User ID=theuser;Password=thepassword;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
      </connectionStrings>
    
    </configuration>
    
    9 回复  |  直到 14 年前
        1
  •  3
  •   Scott H    14 年前

    我也有同样的问题。

        2
  •  4
  •   eglasius    14 年前

    添加web.config文件到脚本、图像和样式文件夹asp.net要允许访问所有用户(请确保其中没有不希望匿名用户访问的内容):

    <configuration>
          <system.web>
             <authorization>
                <allow users="*"/>
             </authorization>
          </system.web>
    </configuration>
    

      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
      </system.webServer>
    
        3
  •  2
  •   Bill the Lizard    14 年前

    您可以这样设置对所需文件夹的权限:

    <location path="App_Themes">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <location path="images">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <system.web>
    
        4
  •  1
  •   Jeff Ogata    14 年前

    请查看 location element

    为方便起见,这里举了一个例子:

    <configuration>
       <location path="Logon.aspx">
          <system.web>
             <authorization>
                <allow users="?"/>
             </authorization>
          </system.web>
       </location>
    </configuration>
    
        5
  •  1
  •   CarlU    14 年前

    组IIS\u WPG需要对折叠的读取权限。现在一切正常。。。希望这能帮助别人

        6
  •  1
  •   BRP    14 年前

    <location path="App_Themes">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
    

        7
  •  0
  •   griegs    14 年前

        8
  •  0
  •   Scott Mitchell    14 年前

    你不小心复制或创建了一个Web.config文件内容文件夹中具有 <authorization>

        9
  •  0
  •   mmdemirbas    13 年前

    我也有同样的问题,我尝试了斯科特H的建议,但没有成功。。。