【问题标题】:How to use ASP.NET Authorization Yet Permit Access to .css Files?如何使用 ASP.NET 授权但允许访问 .css 文件?
【发布时间】:2011-01-09 19:10:05
【问题描述】:
<authentication mode="Forms">
      <forms loginUrl="Login.aspx"/>
</authentication>
<authorization>
      <deny users="?"/>
</authorization>

我正在使用表单身份验证,当我放置上面引用的参数时,我为整个文档所做的 css 格式没有被实现,它正在消失。我应该怎么做才能使 CSS 保持完整。

【问题讨论】:

    标签: asp.net css web-config


    【解决方案1】:

    我假设您的登录表单有一个外部 CSS 文件,并且您使用的是 Cassini 或 IIS 7 集成模式。

    您的 &lt;deny users="?"/&gt; 阻止匿名用户查看登录表单的 CSS 文件。

    您需要使用&lt;location&gt; 元素来允许匿名用户查看 CSS 文件,如下所示:

    <location path="CSS">
        <system.web>
            <authorization>
                <allow users="?"/>
            </authorization>
        </system.web>
    </location>
    

    【讨论】:

    • 我遇到了同样的问题,这个解决方案对我不起作用。我的网络配置中什至没有拒绝用户。
    • 我想通了。这是我在设置新的 IIS 应用程序时从清单中遗漏的内容:选择应用程序,双击“身份验证”,选择“匿名身份验证”,然后编辑,然后将其更改为使用应用程序池标识。确保用户对包含该站点的文件夹具有权限。
    【解决方案2】:

    使用 location 元素允许访问您的 css:

    <configuration>
       <location path="style.css">
          <system.web>
             <authorization>
                <allow users="?"/>
             </authorization>
          </system.web>
       </location>
    </configuration>
    

    【讨论】:

    • location> 我正在尝试这个,最后你的解决方案指出了我错的地方。
    【解决方案3】:
    <location path="Images">
    <system.web>
      <authorization>
        <allow users="?"/>
      </authorization>
    </system.web>
    

    **

    【讨论】:

      【解决方案4】:

      请将此代码添加到网络配置文件中

      <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB"/>

      【讨论】:

      • 答案不相关,也没有解释为什么要添加这段代码。
      猜你喜欢
      • 2011-02-10
      • 2019-01-28
      • 2014-10-12
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      相关资源
      最近更新 更多