Asp.net

ASP.NET 成員資格:拒絕使用者阻止 CSS,頁面無法正確呈現?

  • February 18, 2013

我有一個可以正常執行的頁面,但是當我為整個站點發出拒絕使用者時,它會將我重定向到似乎可以正常工作但 css 無法正常工作的登錄頁面。因此沒有樣式..

任何人都可以幫忙嗎?我的 web.config 是這樣的

<authentication mode="Forms">
 <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

<authorization>
 <deny users="?" />
 <allow users="*" />
</authorization>

此登錄頁面使用站點。master 具有以下樣式表,但在包含上述樣式表時無法設置文件樣式

<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />

要確認 ii 在 web.config 中刪除上面的部分然後它可以工作,因此包含 css 和 beng 樣式

我認為這可能與css被拒絕有關..所以我包括了以下內容,但這沒有區別。我知道 site.master 正在登錄頁面中呈現,因為我看到了標題等。

<location path="~/Content">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>

我還在firefox中使用了firebug來查看css,如果授權標籤包含在web.config中,那麼它說明沒有CSS。如果我刪除標籤,那麼我可以看到 css 並且頁面正確呈現。

我肯定錯過了什麼。任何幫助都非常感謝

提前致謝

編輯

Fiddler 聲明 site.css 被移動了?

HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=utf-8  
Location: /InmoCasaWebClient/Account /LogOn?ReturnUrl=%2fInmoCasaWebClient%2fContent%2fSite.css
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 17 Aug 2010 17:19:12 GMT
Content-Length: 201

<html><head><title>Object moved</title></head><body>

對象移到這裡

使用fiddler來查看該資源到底發生了什麼?可以揭開謎底。如果它是未經授權的,它應該是 403。可能是404ing?如果它不在虛擬目錄中,您可以編寫:

<link href="/Content/Site.css" rel="stylesheet" type="text/css" />

(目錄遍歷很脆弱)

更新 - 現在更多資訊

很好的提琴手使用;)無論如何,因為它是 302ing(臨時重定向)您的 css 文件也需要驗證,所以問題是您的表單身份驗證。

您可能遇到了runAllManagedModuleForAllRequest=“true” 問題。閱讀該文章以獲取資訊。

或者設置對 Content 文件夾的所有訪問權限以允許訪問。你快到了,但它必須是:

<location path="Content">             
  <system.web>             
    <authorization>             
      <allow users="*" />             
    </authorization>             
  </system.web>             
</location> 

我有一個類似的問題。如果有幫助,我將權限(IUSR 或取決於您的作業系統)添加到根 Web 目錄,它起作用了。

引用自:https://stackoverflow.com/questions/3504247