2009-05-01 107 views
7

我有这个在我的web.config文件:授权问题 - 匿名用户无法访问jpeg或.CSS

<authentication mode="Forms"> 
     <forms loginUrl="login.aspx" defaultUrl="Venues.aspx" /> 
    </authentication> 
    <authorization> 
     <deny users="?" /> 
     <allow users="*" /> 
</authorization> 

我只希望允许身份验证的用户我的网页。问题是,我第一次进入登录页面时,页面上没有任何图像或样式。我认为这是因为我拒绝访问.jpeg.css文件。 我想我可以在IIS中解决这个问题,但我只是在Dev。我只有VS 2008,没有IIS。

我可以在web.config中允许匿名用户访问imgs目录吗?

回答

17

你可以允许某些目录(直属<configuration>):

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

你也可能需要包括WebResource.axd的

<location path="WebResource.axd"> 
    <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
    </system.web> 
</location> 
2

我认为这是Visual Studio中的一个已知错误 - 当您不使用IIS时,visual studio错误地阻止登录页面上的CSS文件。

在这里看到:
blog post from tomtech999

当您在IIS中运行它应该没问题。

+0

多数民众赞成它!谢谢! – Txugo 2009-05-01 14:14:09

0

同样,如果你想微软的ReportViewer控件上下工夫您的网页,您需要添加:

<location path="Reserved.ReportViewerWebControl.axd"> 
    <system.web> 
    <authorization> 
     <allow users="*"/> 
    </authorization> 
    </system.web> 
</location> 

试图让2010版的报表查看器工作时,这对我来说是一个问题。 (幸运的是,它只花了70亿年来揭露问题的根源。)