2011-02-24 47 views
2

因此,我在ASP.NET中變得更好的旅程中遇到了一個問題。ASP.NET身份驗證表單不能用於CSS?

我正在進行登錄。我通過添加一個CSS文件給它添加了一些樣式,過了一段時間後我看起來好多了。此後,我添加了ASP身份驗證表單 - 這實際上效果很好,除非如果您未登錄,則不使用CSS。

一旦我登錄並收到一個cookie,我可以回到登錄頁面,一切看起來不錯。但只要我沒有「登錄」,頁面看起來好像沒有使用CSS。

我該如何解決這個問題?

回答

10

你必須允許訪問CSS文件:

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

更新相匹配的路徑指定存儲你的CSS。

+0

真棒這就像一個魅力的工作。請問爲什麼location必須在system.web之前?以及爲什麼它會圍繞web.config文件中的大部分其他內容?如果我可能會偏離我自己的問題,那麼允許用戶=「*」究竟是做什麼的?到目前爲止,我只寫了<拒絕用戶=「?」 />在我的授權標籤:) – 2011-02-24 22:00:20

1

您需要使用web.config中的位置從授權中排除CSS文件夾(以及其他任何文件夾)。

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

將您的CSS文件夾移出保護區 - 將其放在根目錄下,它應該可以工作。

爲受保護的文件可以駐留在(非保護)匿名訪問,根文件夾中的CSS。爲您的受保護文件的CSS並不一定要在一個受保護的文件夾,但如果必須這樣做,那麼amit_g的解決方案應該針對該方案:)

+1

你到底是什麼意思? – 2011-03-13 00:12:16

+0

受保護文件的CSS可以駐留在(無保護)匿名訪問根文件夾中。受保護文件的CSS不必位於受保護的文件夾中,但如果必須這樣做,那麼amit_g的解決方案應該適用於該場景:) – IrishChieftain 2011-03-13 02:02:34