2011-12-20 44 views
0

當我使用:激活「授權」會導致CSS停止工作!如何解決它?

<deny users="?"/> 

在 「授權」 標籤,CSS停止工作未授權的訪客。我怎樣才能定義一個css文件的例外。我希望他們適用於所有的遊客。

這是我的web.config文件:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <deny users="?"/> 
     </authorization> 
     <roleManager enabled="true"/> 
     <authentication mode="Forms"> 
      <forms loginUrl="welcome.aspx" defaultUrl="Default.aspx"/> 
     </authentication> 
     <compilation debug="true" targetFramework="4.0"/> 
</system.web> 
</configuration> 

我沒有修改我的web.config這樣:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <deny users="?"/> 
     </authorization> 
     <roleManager enabled="true"/> 
     <authentication mode="Forms"> 
      <forms loginUrl="welcome.aspx" defaultUrl="Default.aspx"/> 
     </authentication> 
     <compilation debug="true" targetFramework="4.0"/> 
     </system.web> 

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

    <location path="styles/welcome.css"> 
     <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
     </system.web> 
    </location> 
</configuration> 

,它的工作。 謝謝。

回答

3

你的CSS的位置添加到您的web.config。你可以把它完全在最後,就在</configuration>

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

當然,改變「CSS」到你的CSS文件的真實文件夾之前...這是把它放在一個單獨的文件夾,其中最簡單的所有項目都是公開的。就像你的圖片等

+0

我發現當我使用<位置路徑=「css \ welcome.css」>,行將不再適用,並且每個訪問者都可以訪問任何頁面。 m在本地ISS(MS Visual Studio 2011)上測試它是否有任何改變,它授權Windows用戶作爲訪問者? – 2011-12-21 18:29:37

+0

拒絕用戶=?表示你只排除經過身份驗證的用戶,但你希望每個人都可以訪問你的公共資料 – Pleun 2011-12-21 19:24:23

+0

*僅適用於文件夾/ css,因此所有其他頁面都將默認使用。只需嘗試一下... – Pleun 2011-12-21 19:27:03

0

您可能會阻止訪問存儲css文件的文件夾。

儘量讓所有人訪問你的css文件夾,即使他們沒有被自動化。

+0

但如何? css文件位於名爲「css」的文件夾中。我怎麼能做到這一點? – 2011-12-21 18:15:04

+0

你的意思是由IIS設置? – 2011-12-21 18:25:54

+0

加入好友;) – 2011-12-22 10:58:52

0

您可以使用位置元素定義配置適用於您的網站的一部分:

(從MSDN

<location allowOverride="True|False" path="path" /> 
+0

它似乎不起作用。我添加了但沒有任何改變 – 2011-12-21 18:25:21

+0

你需要給它一個路徑,而不是文件名,IIRC :) – 2011-12-22 03:02:49

+0

我做到了。它不工作:( – 2011-12-22 10:56:53

相關問題