IIS7上的web.config(?)的ASP.net webdevelopment问题

时间:2011-06-22 08:20:01

标签: asp.net web-config

解决方案:<allow users="*"/>更改为<allow users="?"/>为我做了诀窍。

当我将我的asp.net网站移动到我的网络服务器(Windows Webserver 2008 R2 - IIS7)时,我遇到了一个问题。

我使用VS2010并运行项目asp.net配置并在我的网站上设置deny all on root文件夹。

然后在外部访问网站时,我被正确转发到/Account/Login.aspx,但后来没有加载css文件。

所以我在/ Styles文件夹中添加了一个allow all。

还是同样的问题。

如果我登录然后注销css似乎加载..

我真的不知道在这里要找什么,是web.config问题,iis7配置问题还是其他什么?

这是位于/ Account /

的web.config
<?xml version="1.0"?>
<configuration>
  <location path="~/Styles/Site.css">  
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>

这是我的网站web.config:

<?xml version="1.0"?>
<configuration>
  <location path="~/Styles/Site.css">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
<connectionStrings>
    <remove name="halldbConnectionString"/>
    <remove name="ApplicationServices"/>
    <add name="ApplicationServices" connectionString="Data Source=xxx.xxx.xxx.xxx;Initial Catalog=xxxxxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient"/>
    <add name="halldbConnectionString" connectionString="Data Source=xxx.xxx.xxx.xxx;Initial Catalog=xxxxxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
  <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
    <authentication mode="Forms">
   <forms loginUrl="~/Account/Login.aspx" defaultUrl="~/Väljhall.aspx"
timeout="2880" />
  </authentication>
    <membership>
        <providers>
            <clear/>
                    <remove name="AspNetSqlMembershipProvider"/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
        </providers>
    </membership>
    <profile>
        <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
        </providers>
    </profile>
    <roleManager enabled="false">
        <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
            <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
        </providers>
    </roleManager>
</system.web>
<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>

2 个答案:

答案 0 :(得分:0)

首先,请探讨对css文件的请求是否响应。 (它是404,500,202响应代码)。您可以使用HttpAnalyzer之类的任何http观察器来执行此操作。

如果css文件响应包含请求未授权的信息 - 尝试将AppPool设置为经典模式

答案 1 :(得分:0)

<allow users="*"/> 

更改为

<allow users="?"/> 

为我做了伎俩