彻底解决session设置timeout不起作用、自动失效的方法

[转帖]彻底解决session设置timeout不起作用、自动失效的方法

系统运行环境:win2003+iis6.0+asp
做了多次测试,居然不好用,这是为什么呢,上网找了许多资料,但是都属于session的基础篇,所以狠下心来,也不找了,自己研究吧,但是无论多少次测试却都无效,没办法了,换个方法试试吧,用cookies配合下session,看看效果,这一试问题居然解决了,结果出来了,得出论证了,原来如此,下面我来说下解决方法:

以下是代码片段:
’-- 用户登录成功后将用户名及用户级别等一些信息存入session和cookies各一份
session("username")="用户名"
session("userlevel") = "用户级别"
’-- 做份备份
response.cookies("userinfor")("username")="用户名"
response.cookies("userinfor")("userlevel")="用户级别"

’-- 这样一旦session自动失效,你就可以用cookies值来判断
if trim(request.cookies("userinfor")("username"))<>"" then
       session("username")=request.cookies("userinfor")("username")
       session("userlevel")=request.cookies("userinfor")("userlevel")
end if

if trim(session("username"))="" then
      response.write "<script language=’javascript’>alert(’重新登录’);location.href=’登录页’;</script>"
end if

’-- 同时也可以用cookies来限定超时时间,假设设定为1天
response.cookies("userinfor").expires=now()+1

 这样就可以了,引用这种方法的时候需要注意,在退出登录的时候,将cookies值也清空,不然会有安全隐患。
之所以导致session设置timeout不起作用,session自动失效的原因个人认为就是因为session相对于cookies来说还不够稳定,所以实现timeout这种功能的时候,最好还是用cookies的expires来取代吧.

 

或者:控制面板--管理工具 -- 服务 --ASP.NET 状态服务--右键--点击启动



 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值