[英]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。
您是否可以嘗試使用Fiddler或HttpWatch之類的工具,並從登錄頁面檢查是否確實請求了.css文件。 驗證返回碼為200。可能是由於開發框中的相對路徑問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.