在ASP.NET中使用授权,页面上不可见的图像

时间:2009-08-07 09:31:03

标签: forms-authentication

我已使用下面提到的代码实现了表单身份验证。我的登录URL是“Login.aspx”。使用这些设置,我的站点图像不会加载到login.aspx上。 但是,如果我评论authorization部分,则会显示图像。

<authentication mode="Forms">
    <forms name="TBHFORMAUTH" defaultUrl="~/User/Default.aspx" loginUrl ="~/Login.aspx" cookieless="AutoDetect" />
</authentication>

<authorization>
    <deny users="?" />
</authorization>

为什么会出现这种情况?

1 个答案:

答案 0 :(得分:3)

您可以将单独的Web.config文件添加到不需要用户控制的Images文件夹中。 Web.config文件应仅包含以下内容以提供完全访问权限:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <system.web>
            <authorization>
               <allow users="*" />
            </authorization>
    </system.web>
</configuration>

另一种方法是,如果受usercontrol限制的所有页面都位于子文件夹(即Users)中,则可以在主Web.config中提供完全访问权限。并在Users文件夹中有一个单独的Web.config包含:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <system.web>
            <authorization>
               <deny users="?" />
            </authorization>
    </system.web>
</configuration>