授权问题 - 匿名用户无法访问.jpeg或.css

时间:2009-05-01 13:42:20

标签: asp.net forms forms-authentication

我的web.config文件中有这个:

<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目录?

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

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

见这里:
blog post from tomtech999

在IIS中运行时应该没问题。

答案 2 :(得分:0)

同样,如果您希望Microsoft的ReportViewer控件在您的网页上运行,则需要添加以下内容:

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

在尝试让2010版本的报告查看器工作时,这对我来说是一个问题。 (幸运的是,只花了70亿年才发现问题的根源。)