CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

form验证在框架下的问题

楼主sdcsdc77()2005-01-31 16:40:15 在 .NET技术 / ASP.NET 提问

我用form验证(是上-左-右的页面框架结构,右边是主体部分)  
   
  一切正常,用户没有登录的化直接跳转到登录页面,  
  但是当用户登录后,三十分钟后页面过期,用户再点击一些没有访问过的页面时,主体部分就显示了登录界面,这样在此输入用户密码后网页就嵌套了,原来框架下的主体部分又显示了整个框架。我用的是如下语句:  
   
  Ticket   =   new   FormsAuthenticationTicket(1,user,DateTime.Now,   DateTime.Now.AddMinutes(30),false,   "admin","/")   ;  
   
  请问这个问题怎么解决?(我不希望通过设置参数true,永久保留cookie。)  
  问题点数:100、回复次数:9Top

1 楼mooddecode1980(心情解码)回复于 2005-01-31 16:41:06 得分 0

:)  
   
   
   
   
   
  -Top

2 楼hedonister(冰戈)回复于 2005-01-31 16:47:47 得分 0

看看代码Top

3 楼czhenq(...... fucking life. I want to change.)回复于 2005-01-31 17:24:22 得分 0

我的办法是结合javascript来解决嵌套问题  
   
  首先使用javascript找出嵌套网页中最上层的window对象,自定义一个函数,在需要的页面中的Page_Load()中调用  
  其中:bLogin:是代码文件中用来指示是否已经通过验证或者验证是否过期,必须声明为公共变量。  
              LoginUrl:重定向路径  
     
  function   RedirectUrl()  
  {  
  var   bLogin   =   "<%=bLogin   %>";  
  var   url   =   "<%=LoginUrl   %>";  
  if(bLogin=="False")  
  {  
  var   turl   =   window.parent.location;  
  var   url="";  
  var   obj   =   window.parent;  
  while(turl   !=   url)  
  {  
  url   =   turl;  
  turl   =   obj.parent.location;  
  obj   =   obj.parent;  
  }  
  obj.location.replace(url);  
  }  
  }Top

4 楼sdcsdc77()回复于 2005-02-04 09:45:05 得分 0

<FRAMESET     rows="72,*"   frameBorder="0">  
  <FRAME     src="top.htm"   >  
   
  <FRAMESET     col="72,*"   frameBorder="0">  
  <FRAME   name="index1"   src="left.htm">  
  <FRAME   name="index2"   src="main.aspx">  
  </FRAMESET>  
   
  </FRAMESET>  
   
  框架就是最常见的上-左-右结构。  
  if   (IsVerified())  
  {  
  Ticket   =   new   FormsAuthenticationTicket(1,user,DateTime.Now,   DateTime.Now.AddMinutes(30),false,   "admin","/")   ;  
  string   HashTicket   =   FormsAuthentication.Encrypt   (Ticket)   ;    
  HttpCookie   UserCookie   =   new   HttpCookie(FormsAuthentication.FormsCookieName,   HashTicket)   ;   Context.Response.Cookies.Add   (UserCookie)   ;   //输出Cookie  
  Context.Response.Redirect   ("Default.aspx")   ;   //默认回到起始页.  
  }  
   
  每次30分钟失效后main.aspx就变成了登录页面,而上,左的框架还在,   这样再次登录的时候main.aspx里就再次包含了上,左框架,   这样不就嵌套了么?Top

5 楼cqzhangq(空空)回复于 2005-02-04 09:50:09 得分 0

upTop

6 楼liulxmooo(娃娃)回复于 2005-02-04 09:56:11 得分 0

upTop

7 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2005-02-04 14:21:12 得分 0

upTop

8 楼Mars_grace(Mars)回复于 2005-02-04 14:48:53 得分 100

你可以在你的登陆页面上添加下面的脚本来试试  
  <script   language="javascript">  
          if(top.location   !=   document.location)  
                  top.location   =   document.location;  
  </script>  
  这样应该不会再嵌套了Top

9 楼SmartBaiChi(啥都不懂,瞎晃悠!!)回复于 2005-02-04 14:57:31 得分 0

顶Top

相关问题

  • 大家进来对框架验证发表一下意见
  • struts验证框架问题!
  • struts验证框架中ValidateWhen这个验证规则怎么用?哪位指点一下
  • struts验证框架初学者问题
  • Form验证问题,大家看一下
  • form验证问题
  • Structs 的 Validator 验证框架的小问题
  • 请问MyEclipse如何添加Struts的Validator验证框架.
  • 麻烦问下:aspx采用Form验证,如何使已有 asp 的session验证能统一进来?
  • 对于form验证还有几个疑问,帮我看一下

关键词

  • 框架
  • 验证
  • 页面
  • 用户
  • 嵌套
  • turl
  • blogin
  • 登录
  • ticket
  • 主体部分

得分解答快速导航

  • 帖主:sdcsdc77
  • Mars_grace

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo