Asp.net
ASP.NET 成員資格:拒絕使用者阻止 CSS,頁面無法正確呈現?
我有一個可以正常執行的頁面,但是當我為整個站點發出拒絕使用者時,它會將我重定向到似乎可以正常工作但 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 目錄,它起作用了。