我已使用下面提到的代码实现了表单身份验证。我的登录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>
为什么会出现这种情况?
答案 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>