单点登录 思路逻辑
做一个winform程序,联网操作,类似与QQ这样的。第二次登陆时会把第一次的登陆注销掉,第一次登陆将会弹出“您的帐号已在别处被登陆,您被易做图下线”的提示信息。
这个逻辑实现的思路是什么样的啊?
QQ WinForm 单点登录 强行注销 --------------------编程问答-------------------- 数据库里记录登录状态,和ip地址,
每次登录都检测状态,
if状态为未登录,则更新状态为在线,并记录ip
如果状态为已登录,则比较ip是否相同,不同则给出别处已登录的讯息,并将另外ip切断联系;相同则默认其为断线续连 --------------------编程问答-------------------- 另外还要加上离线状态更改方式:一个为用户主动离线,一个为长时间未和服务端通讯则视为离线。 --------------------编程问答-------------------- 你这个需求只是后面登录的踢掉前面登录,就如2楼所说记录登录机器信息,下次登录写入新的信息,写入前如果有旧登录信息检查该信息是否还有效,有效发送离线指令 --------------------编程问答-------------------- 这个不叫单点登录,单点登录时SSO Single Sign On.
--------------------编程问答--------------------
SSO是不是该理解成:我登录了QQ,那么我玩QQ游戏或者浏览QQ空间时就不需要再次登录QQ帐号了? --------------------编程问答--------------------
如果访问量大,每次登录都要操作数据库,那对服务器的压力岂不是很大么? --------------------编程问答--------------------
大体上正确,下面是wiki上的定义。
Single sign-on (SSO) is a property of access control of multiple related, but independent software systems. With this property a user logs in once and gains access to all systems without being prompted to log in again at each of them.
我觉得主要的作用是第一句话。
有点扯远了。和lz的问题不沾边了。
补充:.NET技术 , C#