首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

100分求一asp单一用户登录有关问题(类似qq登录)

2013-04-12 
100分求一asp单一用户登录问题(类似qq登录)我的需求是:某系统用户在当前的电脑登录后,若在其他电脑上登录

100分求一asp单一用户登录问题(类似qq登录)
我的需求是:某系统用户在当前的电脑登录后,若在其他电脑上登录该用户名时,则原先的电脑上出现“在其他地方登录的提示!”。就是类型QQ登录的功能。请各高手指导,这个要怎么实现。如果涉及数据库的话,是sql数据库。 asp 用户 登录 用户登录 qq
[解决办法]
很简单,登录时存入Application或数据库 用户名-session.sessionId,键值对
以后每次操作都去查用户名的sessionId是不是和当前的session.sessionId一至,不一至就提示在别的地方登录。
[解决办法]

引用:
引用:
很简单,登录时存入Application或数据库 用户名-session.sessionId,键值对
以后每次操作都去查用户名的sessionId是不是和当前的session.sessionId一至,不一至就提示在别的地方登录。

那如何把原先的用户给踢掉?是session("sessionid") = null?


1、每次登陆都会给session或数据库赋值
2、每次操作都去检查两个值是否一致,如果不一致,就下线
[解决办法]
引用:
很简单,登录时存入Application或数据库 用户名-session.sessionId,键值对
以后每次操作都去查用户名的sessionId是不是和当前的session.sessionId一至,不一至就提示在别的地方登录。


登陆的成功时候用application记录当前会话id,并且用session记录用户名

session("username")="用户名"
application("用户名")=session.sessionid


访问需要验证的页面增加判断session是否存在和sessionid是否一致的判断
if session("username")="" or application(session("username"))<>session.sessionid then
  response.write "未登陆或者用户名已经在其他地方登陆过!!"
  response.end
end if

[解决办法]
引用:
引用:引用:
很简单,登录时存入Application或数据库 用户名-session.sessionId,键值对
以后每次操作都去查用户名的sessionId是不是和当前的session.sessionId一至,不一至就提示在别的地方登录。

登陆的成功时候用application记录当前会话id,并且……


要实时提示就需要用计时器不停的请求一个动态页判断application中存储的sessionid和当前会话id是否一致了

checksession.asp
<%
if session("username")="" or application(session("username"))<>session.sessionid then
  response.write "error"
  response.end
end if
%>


<script src="http://www.coding123.net/js/jquery.js"></script>
<script>
    setInterval(function () {
        $.ajax({
            url: 'checkdession.asp',
            cache: false,
            dataType: 'text',
            success: function (d) {
                if (d == 'error') {
                    alert('登陆超时或者用户名已经在其他地方登陆过!');
                    window.location = 'login.asp';
                }
            },
            error: function (xhr) {
                alert('动态页有问题\n' + xhr.responseText);


            }
        });
    }
    , 5000);//5s检查一次,如果服务器配置好可以缩短一些时间,如1s,函数参数为ms
</script>


[解决办法]
其实有几种方法实现的,使用session,数据库,application等都可以实现,关键就是要记录登陆时的状态

因为是网页版的,所以针对当前登陆的用户要实时更新(即AJAX不断的向服务器请求状态),这样才能提示是否在别的地方登陆
[解决办法]
url: 'checkdession.asp',改了这个没有。。url地址是相对于当前页面的,不行直接修改成绝对路径

url: '/checkdession.asp',


checkdession.asp放到网站根目录下
[解决办法]
感觉还是你动态页url地址没设置对

你按照我11#的修改了地址没有

直接修改成绝对路径

url: '/checkdession.asp',


checkdession.asp放到网站根目录下

热点排行