如何实现一个客户端多用户登录呀?
也就是说n个人用一台电脑登陆一个web管理系统,怎么保存登陆者信息呢。
放session里不行,发现前边的登陆者刷新后总是取的最后一个人的登录信息。
大家可以测试下这个代码。
C# code
public partial class Test_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.Session["LoginUser"] = DateTime.Now;
}
}
//读取session
//显示登录人的时间,其实不然,显示的却是最后一个用户登录的时间。
//请打开多个浏览器器测试下。
protected void Button2_Click(object sender, EventArgs e)
{
this.Response.Write(this.Session["LoginUser"].ToString());
}
}
————————————————————————————————
我放cookie里也是碰见类似的问题。
即使cookie的键值不同也会导致这样的问题,
因为客户端取时无法判断键值,因此也会出问题。
具体代码太长就不贴出来了。
——————————————————————————————
请教下,有哪位高人做过类似的一个客户端多用户登录的功能呀
------解决方案--------------------
帮顶
------解决方案--------------------
基于.NET的模拟多用户客户端的设计与实现http://www.soft6.com/tech/3/36776.html
------解决方案--------------------
基于 cookie 会话管理的需要浏览器支持不同浏览器进程使用不同的cookie
目前,应该只有 IE 8 有这个特性,其他包括 Chrome FF Opera 都是多个浏览器进程共享 cookie 的,
IE8中用 File > New Session 打开的 IE 窗口 与 直接打开 IE 或者 File > New Window 或者 New tab 出来的不共享 cookie,后两者是共享cookie的
------解决方案--------------------
能直接实现你的需求,并支持多个浏览器,是:
不用 cookie 存储会话信息(注意 asp.net session 默认用 cookie 的),而用 cookieless,将会话信息附加到 url ,但 url 有长度限制,不能存太多信息
另一个方法是,要求用户使用多种浏览器
比如用户 A 用IE,用户B用Chrome 用户C用 FF
------解决方案--------------------
ding