同一台电脑上打开2个登录页面,用2个账号登录后,session 会乱窜。
比如:第一个账号登录后,再用第二个账号登陆后,我用第一个账号 添加数据,显示的添加者是 第二个登录用户。后登录的用户名直接覆盖了前一个的。。打印session["用户名"]出来的是第二个的用户名
求高手解答!!!!
我想让2个session不要乱各管各的。
比如:第一个账号登录后,再用第二个账号登陆后,我用第一个账号 添加数据,显示的添加者是 第二个登录用户。后登录的用户名直接覆盖了前一个的。。打印session["用户名"]出来的是第二个的用户名
求高手解答!!!!
我想让2个session不要乱各管各的。
另开一进程,开一浏览器,就不会出这个问题,
确实正解 你先要确定 是否分别在两个进程内 如果只是一个进程 那sessionid 是一样的 后面的当然会覆盖前面的了 两个进程的话 我还没碰到过 能共用session的办法
这个的确跟IE7+以上打开页面时是否是新开一个进程有点关系,开标签页多数都是在同一进程中
原因: IIS里面对Session的辨别是通过客户端浏览器版本鉴定和生成SessionID的
由于session在没有写之前一直是变化的,这个时候测试值不准,所以用登录测试.打开两个chrome 窗口(非选项卡)网站登录模式(cookies+session);在其中一个窗口登录. 另一个窗口会自动登录. cookies是共享的.直接查看了下两个窗口上保存的asp.net_sessionid. 发现是一样的? 开两个chrome应该是独立的进程吧. 怎么sessionid一样.
1.同一浏览器对同一网站登录做判断,只允许有一个用户,
2.禁用cookie,sessionid通过url参数传递
3.登录时将用户名存储文本文件,然后登录时对文本文件做判断,查看是否存在已登录用户,如果有友好提示,登出用户,或是关闭先前用户,
QQ到目前也没解决,要么感觉这不是问题,要么就是没办法。
会不会是游览网页兼容的问题呢?
没有遇到过,学习了
cookies 也有只有持久型的(在硬盘生成文件的) 才能跨浏览器进程非持久型 的 cookies 跟 session 的区别就是 一个在服务器端一个在客户端
这时候切换到第二个登陆界面 登陆第二个账号 之后 你的第一个账号的session肯定就没用了 第二个的账号的session生效啊