注册 登录
编程论坛 ASP.NET技术论坛

页面跳转和Session超时问题

青格儿 发布于 2008-07-01 11:06, 8132 次点击
1.如果用户直接来到登陆界面,登陆成功后跳到首页;如果不是直接来的,则 跳到原来的页面。 这效果怎么做?

2.页面上好多Session,它过一会就超时,于是我设了timeout ,可是又一个问题出现了,退出时用了Session.clear(),页面要是非法关闭的,Session不会清空怎么办?
比如:
要是有人不是正常退出的,也就是没点退出按钮,只是关闭了网页。那如何让Session失效呢?
19 回复
#2
tomtory2008-07-01 11:18
1.你可以用ReturnUrl在地址中把地址传过去  

还有一种就是用JS
location='javascript:history.go(-1)'
这种需要检测有没有前一个页面
检测方法是判断history.go(-1)是否等于undefined和是否等于NULL和是否等于''(空)这三种状况
如果是  就直接跳转首页就可以了

2.  这个东西没有非常好的解决方法  我没有发现!hehe
你可以在服务器定时检测用户是否有在好多时间内在系统中有没有动作  如果没有动作就清空他的Session
#3
青格儿2008-07-01 11:52
嗯,谢谢楼上的朋友。

哦,不好意思,是我第一个问题没说清楚吧?我想要这种效果,比如,当我访问论坛上的某个贴子时,开始没登录,碰到一个附件下载,于是我只能登录后才可以下载,当我登录后,它就自己转到我没登录前那个带附件的贴子上。

1。登陆成功后转向原始想要打开的页面这效果怎么做?login.aspx?from=原先地址?可是,如果原先页面地址不是确定,我怎么办?登陆成功后转向原始想要打开的受保护的页面

2.第二个问题,还请各们高手指点一下,先在这谢谢了。
#4
tomtory2008-07-01 13:17
login.aspx?ReturnUrl=Server.UrlEncode(Request.Url.PathAndQuery)

然后 在login.aspx页面得
Page.Request.QueryString["ReturnUrl"]
就可以了

第二个问题我也没有更好的办法给你解决  你找一下嘛
#5
青格儿2008-07-03 09:08
谢谢,第一个问题解决了。
还是第二个问题,不会,我查了好久,没查出来。自己再顶一下,呵呵
#6
雪雨星风2008-07-03 09:28
SESSION用过后立刻清空
#7
tomtory2008-07-03 09:47
她这做的应该是当前用户相关
用SESSION来判断用户是否登陆

呵呵 怎么可能将SESSION用过后就立刻清空的嘛

现在解决方法大部分就是我说的那种  在服务器断定时对用户发送对话 检测用户是否系统中的动作
如果在一定时间没有动作就清空他的SESSION  然后就是跳登陆页面了
#8
雪雨星风2008-07-04 18:25
[bo][un]tomtory[/un] 在 2008-7-3 09:47 的发言:[/bo]

她这做的应该是当前用户相关
用SESSION来判断用户是否登陆

呵呵 怎么可能将SESSION用过后就立刻清空的嘛

现在解决方法大部分就是我说的那种  在服务器断定时对用户发送对话 检测用户是否系统中的动作
如果在 ...

怎么发送啊   能不能解释一下   我统计在线时间   和再线人数  该怎么做
#9
雪雨星风2008-07-05 10:25
记录每个人的在线时间   统计同时在线的人数
怎么做才能把误差缩到最小
#10
雪雨星风2008-07-05 10:26
因为正常退出的用户不多
#11
雪雨星风2008-07-05 14:55
谁来看看这个问题
#12
雪雨星风2008-07-05 15:17
顶一下
#13
青格儿2008-07-10 09:28
呵呵,谢谢楼上朋友的支持!我也再顶一下!希望有高手能帮我解决下。我很想知道非法退出,直接关窗口,Session自动消失,这种情况怎么处理。楼上朋友说的对,大部分人都是直接关窗口,很少有人点退出按钮退出系统的啊!!!!!!
#14
仰望星空2008-07-10 14:37
session需要手动做清除吗?我怎么不知道?
session是浏览器的进程,当浏览器关闭的时候session就消失了,为什么要专门清理?难道web2.0里改了?
#15
tomtory2008-07-10 16:20
回答正确  加10分

呵呵
 
我忘这个了 呵呵
#16
青格儿2008-07-14 10:17
这么说:网页一关,它就自动没了?网页不是在服务器上吗?Session不也在服务器端吗?客户端网页一关,session就自动没了?
#17
gudanxd2008-11-25 10:57
不对啊
不对啊 我刚才试了一下 把浏览器关了 Session 也没消失 还是存在的

我把网址复制了一份 粘上 照样不用登陆就进去了 而且 用户名 和密码 还是原来的
#18
莎莎2008-11-25 12:25
session让人欢喜让人忧……
unload事件宝贝们……
#19
小仙2008-11-25 20:03
Session关闭后确实还在,但是打开新的页面应该启用了新的Session,原来那个还在,只是没用吧。我以前也关注过这个问题。
#20
铲铲2008-11-25 21:57
如果你要实现验证用户,请关注一下 基于框架的用户验证的贴子。
https://bbs.bccn.net/thread-237223-1-1.html
1