对“在ASP中如何实现用户只是登录一次?”还是有点不解????

szlzc 2003-04-23 08:01:30
对“在ASP中如何实现用户只是登录一次?”这个问题还是有点不明白,如果用session 记录用户资料,在新打开的浏览器窗口或是别的机器上登录,那么还是一样登录成功,就不存在同时不能用同一个帐号登录的问题了!我是希望只要用某一个帐号登录了,在该帐号没有退出来之前,就不能用这个帐号再登录。如果在数据库中用一个字段标志来记录用户是否登陆(假设0代表没有登录,1代表登录),是一种好方法,用户登录时就设定标志,退出时就恢复原值。但是如果用户不是正常的退出系统(没有注销),比如断电,或是直接关闭浏览器窗口,那么这么标志就不好更改了。请教哪位大侠能指出一个好的方法,不胜感激!多谢!
...全文
29 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingmd2 2003-04-25
  • 打赏
  • 举报
回复
关注!
bluewhitegirl 2003-04-25
  • 打赏
  • 举报
回复
关注!
yanzeyuan 2003-04-25
  • 打赏
  • 举报
回复
我正想问这个问题呢!
看来这个问题大家比较关注阿!

up!
Newrocky 2003-04-25
  • 打赏
  • 举报
回复
对,我也有这样的问题,我想问一下,如果把SESSION的值设置为5的话,那用户在站内浏览主页花了5分钟(这种情况很正常吧?!),同样会被算为TIMEOUT的吗?还是,每打开一个页面的时候,SESSION就会重新开始计算TIMEOUT的呢?
powerfei 2003-04-25
  • 打赏
  • 举报
回复
存在cookies里,当用户关闭网页,cookies值就没了,或者用onunload,当执行此事件就自己动跑出个新页,新页里有session.abandon,当然这样麻烦点了
hillhero789 2003-04-23
  • 打赏
  • 举报
回复
可以访问所有的session对象,然后对比当前的用户的id是不是已经存在.

For Each strName in Session.Contents
if request("username")=Session.Contents(strName) then
response.write "登陆失败,你的id已经登陆!"
response.end
end if
Next
blueshand 2003-04-23
  • 打赏
  • 举报
回复
你的办法可以实现,要再添点

在golbal.asa中设置session.timeout的直为5分钟
在solbal.asa中的 Session_OnEnd 过程中编写一段代码,将数据库字段至0

这样,即使用户非法退出,也可以在5分钟后将标识改为0
Arong2001 2003-04-23
  • 打赏
  • 举报
回复
哦,好问题,关注

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧