2010-01-27 63 views
9
<authentication mode="Forms"> 
     <forms loginUrl="Login.aspx"/> 
</authentication> 
<authorization> 
     <deny users="?"/> 
</authorization> 

我正在使用表單身份驗證,並且當我放置上面引用的參數時,我爲整個文檔所做的CSS格式化沒有執行,它正在消失。我應該怎麼做,以便CSS保持完好。如何使用ASP.NET授權,但允許訪問.css文件?

回答

20

我假設您的登錄表單有一個外部CSS文件,並且您使用的是Cassini或IIS 7集成模式。

您的<deny users="?"/>正在阻止匿名用戶看到登錄表單的CSS文件。

您需要使用<location>元素允許匿名用戶看到的CSS文件,像這樣:

<location path="CSS"> 
    <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
    </system.web> 
</location> 
+0

我遇到同樣的問題,此解決方案對我無效。我的網絡配置中甚至沒有拒絕用戶。 – 2011-06-24 21:09:00

+0

@Eric:檢查Firebug。 – SLaks 2011-06-24 21:09:28

+2

我想通了。這是我在設置新的IIS應用程序時從我的清單中遺漏的東西:選擇應用程序,雙擊「身份驗證」,選擇「匿名身份驗證」,然後選擇編輯,然後將其更改爲使用應用程序池標識。確保用戶對包含該網站的文件夾擁有權限。 – 2011-06-27 13:26:45

6

使用位置元素,以允許訪問你的CSS:

<configuration> 
    <location path="style.css"> 
     <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
     </system.web> 
    </location> 
</configuration> 
+0

<位置路徑=」 style.css文件」> <授權> <允許用戶=」 *」> 我嘗試了這一點,atlast您的解決方案指出,我錯了。 – Chaitanya 2010-01-27 03:05:49

0
<location path="Images"> 
<system.web> 
    <authorization> 
    <allow users="?"/> 
    </authorization> 
</system.web> 

**

-2

請將此代碼添加到網頁配置文件中

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB"/>

+0

答案是不相關的,沒有解釋爲什麼應該添加此代碼。 – LazyTarget 2017-03-23 08:27:24

相關問題