首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

使用Form权限验证,但是登陆页面内中的图片居然都不显示解决方法

2012-03-20 
使用Form权限验证,但是登陆页面内中的图片居然都不显示我使用Form验证,但是登陆页面内中的图片居然都不显

使用Form权限验证,但是登陆页面内中的图片居然都不显示
我使用Form验证,但是登陆页面内中的图片居然都不显示,路径绝对没有问题,因为在设计视图中都可以显示.
web.config中的代码是这样的:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name=".ASPXAUTH" protection="All" timeout="20"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>

进入Login.aspx页面,图片全显示为叉叉,很郁闷,登陆成功以后,点后退,到Login.aspx页面居然又可以显示图片
,请问各位大侠是什么原因.

3Q

[解决办法]
因为你拒绝了所有的匿名用户访问你的资源
<deny users="?" /> 

现在用户连注册都没机会了

1、 新建一个目录 Public ,用于存放一些公用的文件,如你Login.aspx中所有的图片
2、 右击点击目录 Public ,新增一个 Web.config
内容如下:

XML code
<?xml version="1.0" encoding="utf-8"?><configuration>  <system.web>   <authorization><allow users="*"/></authorization>  </system.web></configuration>
[解决办法]
还是3楼的兄弟耐心,把具体设置方法都给出来了。

其实还有一个办法,就是在IIS中把图片类型的扩展名与ASP.NET handler的映射给解除掉。这样图片会作为静态资源被访问到,不需要通过授权了。这样做对服务器性能也会有改善。缺点就是如果你确实想保护图片不受未授权的用户访问的话,反而做不到了。
[解决办法]
webconfig里加个节点.这样就行了.

XML code
<location path="images">    <system.web>      <authorization>        <allow users="*"/>      </authorization>    </system.web>  </location>
[解决办法]
XML code
<location path="xxx.css">    <system.web>      <authorization>        <allow users="*"/>      </authorization>    </system.web>  </location>  <location path="images">    <system.web>      <authorization>        <allow users="*"/>      </authorization>    </system.web>  </location>
[解决办法]
Web.config中配置授权给那些被限制的文件夹images或css文件夹权限,就可以了。

热点排行