最近项目是跟框架有关的两个问题

讨论了IIS控制的登录验证机制下框架页面加载的问题,包括框架页面及子页面的访问权限控制,以及如何通过修改页面类型来解决IIS导致的未授权访问错误。同时提供了解决方案,并介绍了如何防止某些页面出现在框架内。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

l_yzhong   (2006-07-15 13:04:33)
框架中有三个页面(这三个需要登陆,框架不清楚,要看一下程序的目录结构),加上框架就是四个页面

而页面的访问权限又是交给IIS控制的,如果IIS发现是先加载Top.aspx,则跳转页面的URL会是
/Login.aspx?ReturnUrl=%2fMyAccount%2ftop.aspx
如果先加载Bottom.aspx,则会是
/Login.aspx?ReturnUrl=%2fMyAccount%2fBottom.aspx

如果你把PayValidate.htm的内容写到Page_Load中,就不会出现上面的情况了
我的理解:
1、框架和框架包含的页面都要登录才能访问。
2、当用户访问这个框架页面的时候,本来应该直接转向登录页面。可能是IIS的BUG用户没有被转向登录页面。于是框架页面就开始加载它所包含的页面(C)。这时候IIS终于反应过来了将用户转向了登录页面。但这里的ReturnUrl就变成了页面(C)的URl。

分析与解决办法:这个问题出现的原因1是IIS本身的问题。2是框架页面使用的是静态页面。
只要把框架页面改成动态页面问题就没有了。

另一个跟框架有关的问题:
一个在框架中的页面重定向到另一个页面的时候。这个页面会在框架中。但有些页面是始终都应该在框架外的。比如说网站的首页。这时只要在网站的首页的<head></head>之间加上下面这段脚本首页就不会再出现在框架里了。

None.gif<script>
None.gif       
if(window.parent[0!= null)
ExpandedBlockStart.gifContractedBlock.gif       
dot.gif{
InBlock.gif            
if(top.location.href != window.location.href)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                top.location.href 
= window.location.href;
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif       }

None.gif        
</script>    

转载于:https://www.cnblogs.com/heys/archive/2006/07/18/453967.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值