【问题标题】:CSS on IIS deployed ASP.NET code disappearing for unauthorized usersIIS 上的 CSS 部署的 ASP.NET 代码对未经授权的用户消失
【发布时间】:2016-11-29 07:58:33
【问题描述】:

我用 VS 2012 的默认方式创建了一个 ASP.NET 程序。
我的 Site.css 位于 Content 文件夹中。
我的 WebConfig 被更改为拒绝任何未经授权的人访问,例如“? users”,除非到达登录页面。

我最近做了一个新的构建,它没有触及我的 CSS 或路径或我的页面的任何可访问性,但尽管之前曾工作过,但登录页面上的 CSS 现在已损坏 - 除非您注销并重定向到它。刷新后还是恢复到broken。

我的问题不是“具体是什么导致了这个问题”,而是更多的是“我怎样才能找到这个问题的根源?”
我将尝试将内容文件夹作为我的解决方案公开访问,但我仍然很好奇为什么会发生这样的事情。

【问题讨论】:

    标签: html css asp.net forms-authentication


    【解决方案1】:

    您似乎禁用了对应用程序中每个文件和文件夹的匿名访问。

    如果是这样,您可以在 Content 文件夹中创建一个 web.config 文件,其中包含以下内容允许匿名访问该文件夹中的每个文件。

    <?xml version="1.0"?>
    <configuration>
    
      <system.web>
        <authorization>
          <allow users="*"/>
        </authorization>
      </system.web>
    
    </configuration>
    

    或者在应用程序级别的 web.config 文件中,您可以添加其余代码。

    <?xml version="1.0"?>
    <configuration>
    
      <location path="Content">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
    
    </configuration>
    

    【讨论】:

    • 这似乎比将它放在顶级网络配置中要好一些。但最奇怪的是,我仍然以某种方式禁用了对它的匿名访问,而没有更改构建之间的任何相关内容。
    • 是的,你也可以把它放在应用级web.config文件中。 Web Server 也有 root web.config;你可能想看看它是否被修改过。
    • 是的。没有它在应用程序或目录级别的 web.config 中它工作正常,直到突然它没有。服务器 web.config 也没有变化。
    • 可能性太多了。我不能不看一下 IIS 设置和目录权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多