asp.net 如何检测用户已登陆

刚才在看别人的代码,看到“验证用户名是否被占用”(其实这个只是检测用户名是否已经存在,我还以为是检测用户是否已经登录),突然想到游戏里经常出现的,在账号登录的时候,如果该账号已经登录了则提示该用户已登录。
然后我问了公司的同事,他的意思是创建一张用户登录表,然后根据表的内容判断用户是否已经被登录过。
虽然这是一个可行的方法。但是,我们大家都有个习惯,就是登录完后,当退出的时候,除了像一些银行类的网站外,论坛之类的网站都是习惯性的按右上角的x关闭网页。
这样的话,当关闭网页后,表的内容还是记录着登录状态。那么下次想登录的话,将无法进行登录。
所以,我想知道该怎么做才能实现我的要求。请高手们帮我想一下~

一般保留用户登录信息都放在服务器缓存里面;把用户的登录信息保存在Cache中,并设置过期时间为Session失效的时间,因此,一旦Session失效,我们的Cache也过期;而Cache对所有的用户都可以访问,用它保存用户信息比数据库来得方便。当关闭网页时,session也会失效,就不存在楼主关闭网页之后不能再登录的问题了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-31
清空session内放着的登陆信息
第2个回答  2010-05-31
防重复登录这个问题,早在一年前我就弄过了,非常地不好弄。我采用的方法是在一个通用类中建立一个静态全局数组(注意必须是静态的)。然后把用户名,和IP之类的信息存入。这样每登录一位用户,数组中就自动添加了一位用户。最关键的是用户退出后须要从数组中删除该用户。那么就须要写一个方法,通过SESSION来判断。如果该用户SESSION不存在了,就把该用户从数组中删除,这样就可以完成。当然登录后要添加该SESSION或者COOKIE也可以
第3个回答  2010-05-31
1.数据库。
2.Application
第4个回答  2010-05-31
数据库+Application+时间属性

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网