2011-12-20 41 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

相关问题