小弟想问高手一个问题:
我现在正在用ASP做一个登录系统,但遇上了一个小小的问题。我怎样才能够限定一个账号同一时间内最多只有一个用户使用啊?
20 个解决方案
#1
在数据库里面记录登陆时间,并做登陆标识。 页面上定时刷新看session有没有timeout ,timeout了就把登陆标识去掉。timeout时间设定的合理一点! 不过这样解决也不完美!
#2
在数据库中加一个标志字段,登陆后配1,然后判断是1还是0来判断用户是否登陆。
#3
做个临时表,登录后把用户名写进去。退出时删除。
登录时先检验这个临时表有没有自己的用户名。
但是这样有一个问题。就是用户直接关闭走人。
所以就需要包含一个异常退出的处理。把自己的用户名在临时表里删除。
登录时先检验这个临时表有没有自己的用户名。
但是这样有一个问题。就是用户直接关闭走人。
所以就需要包含一个异常退出的处理。把自己的用户名在临时表里删除。
#4
登陆时候在数据库中打上标记。。。。。。。。。。。
#5
在登陆表加一个字段,login(name,password,attri)
其中attri默认值为0,当一个用户登陆检验通过后,让attri为1
其中attri默认值为0,当一个用户登陆检验通过后,让attri为1
#6
session 配合数据库记录登陆用户
#7
搜以前的帖子有这样的问题!
一般就是登陆以后将登陆信息写入表里面
登陆的时候判断表里面是否有这个人的信息,有就不能登陆
——————————————————————————————————
www.91asp.cn
有时间到这里找资料找书籍,你会发现asp以及.net很容易!
前提是你努力学习!
一般就是登陆以后将登陆信息写入表里面
登陆的时候判断表里面是否有这个人的信息,有就不能登陆
——————————————————————————————————
www.91asp.cn
有时间到这里找资料找书籍,你会发现asp以及.net很容易!
前提是你努力学习!
#8
综合vivisogood(新人类)和lxqlogo0(群子)的意见就可发解决掉你的问题了
#9
这还不简单,你在数据库里做一个记号,不就可以了
#10
这种情况都是登陆时在数据库写入一个标志!
#11
记录用户在线情况
#12
统计用户的IP
如果是不同的IP则表明已经有用户使用不同的机器登陆了
如果是不同的IP则表明已经有用户使用不同的机器登陆了
#13
搜我以前的帖子,至少回答过10次以上了.
这个问题,比较的难.
主要问题是,非正常退出时,下次合法用户也不能登陆.
解决方法需要用到包括2级密码在内的一系列技巧...
这个问题,比较的难.
主要问题是,非正常退出时,下次合法用户也不能登陆.
解决方法需要用到包括2级密码在内的一系列技巧...
#14
期待中
#15
SessionID属性
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
当会员登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged",
同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先判断其是否登
录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这
样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者
访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
当会员登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged",
同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先判断其是否登
录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这
样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者
访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。
#16
就是这个原理了!做标记!
#17
记录到APPLICATION集合里面,登录时验证就行了
#18
做个activetable表,放登陆用户的ID信息!然后比较就可以实现!如果有非正常退出情况,就设个时间不段检测对比!最好设得短些!这样就是非正常退出也可以在一定程度上解接问题!(断电之类)。如果要做到完美,我想在不断检测客户端IP变化情况!(情况也是有点复杂,)同个用户名称检测session情况和activetable临时表情况还有配合IP检测(三个方法一起来)应该比较完美了吧!说是说了,我还没这样做过,最多就是两种情况都使用在一起!大家可以试试看看!
有需要者加俺MSN:loadingthink@hotmail.com聊天免加!
有需要者加俺MSN:loadingthink@hotmail.com聊天免加!
#19
浏览器有没有unload事件的啊?俺是菜鸟
#20
根据登陆时间,IP判断比较好,可以参考投票程序啊
#21
#1
在数据库里面记录登陆时间,并做登陆标识。 页面上定时刷新看session有没有timeout ,timeout了就把登陆标识去掉。timeout时间设定的合理一点! 不过这样解决也不完美!
#2
在数据库中加一个标志字段,登陆后配1,然后判断是1还是0来判断用户是否登陆。
#3
做个临时表,登录后把用户名写进去。退出时删除。
登录时先检验这个临时表有没有自己的用户名。
但是这样有一个问题。就是用户直接关闭走人。
所以就需要包含一个异常退出的处理。把自己的用户名在临时表里删除。
登录时先检验这个临时表有没有自己的用户名。
但是这样有一个问题。就是用户直接关闭走人。
所以就需要包含一个异常退出的处理。把自己的用户名在临时表里删除。
#4
登陆时候在数据库中打上标记。。。。。。。。。。。
#5
在登陆表加一个字段,login(name,password,attri)
其中attri默认值为0,当一个用户登陆检验通过后,让attri为1
其中attri默认值为0,当一个用户登陆检验通过后,让attri为1
#6
session 配合数据库记录登陆用户
#7
搜以前的帖子有这样的问题!
一般就是登陆以后将登陆信息写入表里面
登陆的时候判断表里面是否有这个人的信息,有就不能登陆
——————————————————————————————————
www.91asp.cn
有时间到这里找资料找书籍,你会发现asp以及.net很容易!
前提是你努力学习!
一般就是登陆以后将登陆信息写入表里面
登陆的时候判断表里面是否有这个人的信息,有就不能登陆
——————————————————————————————————
www.91asp.cn
有时间到这里找资料找书籍,你会发现asp以及.net很容易!
前提是你努力学习!
#8
综合vivisogood(新人类)和lxqlogo0(群子)的意见就可发解决掉你的问题了
#9
这还不简单,你在数据库里做一个记号,不就可以了
#10
这种情况都是登陆时在数据库写入一个标志!
#11
记录用户在线情况
#12
统计用户的IP
如果是不同的IP则表明已经有用户使用不同的机器登陆了
如果是不同的IP则表明已经有用户使用不同的机器登陆了
#13
搜我以前的帖子,至少回答过10次以上了.
这个问题,比较的难.
主要问题是,非正常退出时,下次合法用户也不能登陆.
解决方法需要用到包括2级密码在内的一系列技巧...
这个问题,比较的难.
主要问题是,非正常退出时,下次合法用户也不能登陆.
解决方法需要用到包括2级密码在内的一系列技巧...
#14
期待中
#15
SessionID属性
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
当会员登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged",
同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先判断其是否登
录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这
样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者
访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。
该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。
当会员登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged",
同时把这个会员的Session.SessionID写入数据库。当他要浏览此模块时,先判断其是否登
录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这
样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者
访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。
#16
就是这个原理了!做标记!
#17
记录到APPLICATION集合里面,登录时验证就行了
#18
做个activetable表,放登陆用户的ID信息!然后比较就可以实现!如果有非正常退出情况,就设个时间不段检测对比!最好设得短些!这样就是非正常退出也可以在一定程度上解接问题!(断电之类)。如果要做到完美,我想在不断检测客户端IP变化情况!(情况也是有点复杂,)同个用户名称检测session情况和activetable临时表情况还有配合IP检测(三个方法一起来)应该比较完美了吧!说是说了,我还没这样做过,最多就是两种情况都使用在一起!大家可以试试看看!
有需要者加俺MSN:loadingthink@hotmail.com聊天免加!
有需要者加俺MSN:loadingthink@hotmail.com聊天免加!
#19
浏览器有没有unload事件的啊?俺是菜鸟
#20
根据登陆时间,IP判断比较好,可以参考投票程序啊