簡體   English   中英

未在未經身份驗證的ASP.NET頁上應用CSS

[英]CSS not being applied on non authenticated ASP.NET page

在開發(正常運行)時,在用戶通過身份驗證(登錄)之前,我們網站的頁面不會使用正確的CSS。

因此,“登錄”和“注銷”表單看起來很糟糕,但是一旦進入站點,CSS就會再次起作用。

我猜這是某種身份驗證問題? 並沒有進行太多研究,因為它只是在開發人員時才解決,不是一個大問題,但是很高興知道如何解決它。

要允許未經身份驗證的用戶查看您的.css文件(或任何其他文件/目錄),可以將一個location元素添加到指向.css文件的web.config文件中。

<configuration>
   <system.web>
      // system.web configuration settings.
   </system.web>
   <location path="App_Themes/Default/YourFile.css">
      <system.web>
         <authorization>
            <allow users="*"/>
         </authorization>
      </system.web>
   </location>
</configuration>

檢查並確保CSS文件本身不在您要保護的區域中。 您可以根據需要通過web.config手動排除文件。

我自己遇到了這個問題,手動添加位置沒有影響。 我發現我已經授予IIS_IUSRS訪問文件夾的權限,因此我的應用程序池訪問文件沒有問題,但是IIS使用IUSR帳戶進行匿名訪問。

要解決此問題,我打開了IIS管理器-> IIS:身份驗證->選擇“匿名身份驗證”->單擊操作:編輯。(或右鍵單擊)->選擇“應用程序池標識”

現在,匿名訪問嘗試使用具有正確文件權限的IIS_IUSRS。

您是否可以嘗試使用FiddlerHttpWatch之類的工具,並從登錄頁面檢查是否確實請求了.css文件。 驗證返回碼為200。可能是由於開發框中的相對路徑問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM