求解决内部网站Session信息乱窜问题,真心感谢。不知是程序问题,还是IIS问题。

问题描述

解决netsession登陆用户数量多,用户乱窜的问题。就是公司内部开发的网站系统,用户注册采用session存储用户信息,但是发现用户登录数量多了后就存在用户乱窜,甲的信息是乙,乙的信息是丙。不知道是IIS原因,还是源代码问题。//验证登陆login.aspxfunctionCheckLogin(username,userpwd,auto){if(GetReferById('login_smt'))GetReferById('login_smt').disabled=true;if(username==undefined)username=GetReferById('login_username').value;if(userpwd==undefined)userpwd=GetReferById('login_userpwd').value;if(auto==undefined)auto=false;if(username==''){alert('请输入用户名。');GetReferById('login_smt').disabled=false;GetReferById('login_username').focus();return;}if(userpwd==''){alert('请输入密码。');GetReferById('login_smt').disabled=false;GetReferById('login_userpwd').focus();return;}//alert(auto);varpm='name='+escape(username)+'&pwd='+escape(userpwd)+'&auto='+auto;//alert(pm);alert(pm);_ajax('/server/login.asmx/CheckLogin',callback,true,pm);}functioncallback(str){if(GetReferById('login_smt'))GetReferById('login_smt').disabled=false;alert(str);varuser=Xml2Hash(str);if(user==null){alert('系统错误,请稍候再试。');return;}if(user.Id==undefined){alert('登录失败,用户名或密码错误,请重新输入');return;}if(user.role!=_sysRole){alert('您不是管理员,请勿非法登录。');GetReferById('login_username').value='';GetReferById('login_userpwd').value='';return;}location.href='/manage/';}user.cs文件内容usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Web;usingSystem.Web.Security;usingSystem.Data;usingSystem.Data.SqlClient;namespaceAbcSC{publicpartialclassUser{publicUserCheckLogin(){try{intuid=Convert.ToInt32(HttpContext.Current.Request.Cookies["user"]["userid"]);intauto=Convert.ToInt32(HttpContext.Current.Request.Cookies["user"]["isauto"]);if(uid>0&&auto==1){returnSetLoginSession(uid,true);}}catch(Exceptionex){SystemError.CreateErrorLog(ex.Message);}returnnull;}///<summary>//////</summary>///<paramname="uid"></param>///<paramname="isauto"></param>///<returns></returns>privateUserSetLoginSession(intuid,boolisauto){HttpContext.Current.Session["userid"]=null;try{Useruser=newUser(uid);HttpContext.Current.Response.Cookies.Remove("user");HttpContext.Current.Response.Cookies["user"].Expires=DateTime.Now.AddYears(1);HttpContext.Current.Response.Cookies["user"]["userid"]=uid.ToString();HttpContext.Current.Session["userid"]=uid.ToString();HttpContext.Current.Response.Cookies["user"]["isauto"]=(isauto?"1":"0");returnuser;}catch(Exceptionex){HttpContext.Current.Response.Write("设置session错误:"+ex.Message);returnnull;}}///<summary>//////</summary>///<paramname="name"></param>///<paramname="pwd"></param>///<paramname="isauto"></param>///<returns></returns>publicUserCheckLogin(stringname,stringpwd,boolisauto){stringcmdText=string.Format("selecttop1*fromt_UserswhereNickName='{0}'andPwd='{1}'",name,AbcTools.MD5_16(pwd));try{DataTabledataTable=AbcTools.RunSQLToTable(cmdText);if(dataTable.Rows.Count>0){intuid=Convert.ToInt32(dataTable.Rows[0][0]);//设置Cookies//HttpContext.Current.Response.Cookies["user"]["userid"]=uid.ToString();HttpContext.Current.Session["userid"]=null;returnSetLoginSession(uid,isauto);}}catch(Exceptionex){SystemError.CreateErrorLog(ex.Message);HttpContext.Current.Response.Write("登录验证错误:"+ex.Message);}returnnull;}publicintSessionUserId{get{intuid=0;if(HttpContext.Current.Session["userid"]!=null){Int32.TryParse(HttpContext.Current.Session["userid"].ToString(),outuid);}returnuid;}}publicintGetSessionUserId(){intuid=0;try{if(HttpContext.Current.Session["userid"]!=null){Int32.TryParse(HttpContext.Current.Session["userid"].ToString(),outuid);}}catch(Exceptionex){SystemError.CreateErrorLog("获取SessionId出错:"+ex.Message);}returnuid;}}}

解决方案

解决方案二:
自己顶下。希望哪个位高手指点,积分可增多。谢谢!
解决方案三:
看一下这个,应该就有解决思路了http://blog.csdn.net/wmj2003/article/details/2601802
解决方案四:
一般这种问题发生在不同用户在同一浏览器中登陆,用cache记录一下在线用户用sessionID判断

时间: 2024-11-01 01:26:39

求解决内部网站Session信息乱窜问题,真心感谢。不知是程序问题,还是IIS问题。的相关文章

asp.net网页嵌套处理,求解决方法

问题描述 asp.net网页嵌套处理,求解决方法 网站的网页被软件嵌套了,需要区分出此类访问网站日记记录的访问信息和浏览器没有区别代码或者实现的想法都可以,语言asp.net 解决方案 应该再讲清楚点,这样根本不知道你在表达什么

spring-求解决No Hibernate Session bound to thread

问题描述 求解决No Hibernate Session bound to thread ssh项目在运行时控制台没有出错,但是页面出现 HTTP Status 500 - No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here怎么解决??? applicationContext.xml文件配置如下: <?xml version=&quo

jsp购物车使用session速度慢,求解决

问题描述 我的问题是这样的每个商品后面有一个加入订购单按钮页面上还有个查看订购单按钮.订购单上有删除商品的按钮.我是将商品的id放到list里存到session里但是对商品进行操作后,如果马上点击查看订购单,就会发现最新的修改没反映到订购单上我感觉是我操作太快了,但是程序慢求解决另外IE6,IE7上存在这个问题,IE8不存在这个问题 解决方案 解决方案二:增加或删除商品一般需要等待两秒,才能将改动反映到购物车上解决方案三:我想能是你的list的问题,因为你是把id方到list(你的购物车)然后把

dede网站会员上传图片前台调用图片显示有问题,但是后台管理员上传没有问题 求解决???

问题描述 dede网站会员上传图片前台调用图片显示有问题,但是后台管理员上传没有问题 求解决??? 2C 装修公司注册会员发布案例图片时候前台显示的图片地址和alt标签还有属性都有一个杠,但是管理员登陆后台发布案例图片前台显示是正常的,使用的都是同一个编辑器.前台页面显示截取显示图片位置代码如: <img alt=""欧式沙发"" src=""/uploads/allimg/141122/1-141122000R3Z0.jpg"&

源代码-急求解决~~~~~!!!!网站后台上传二维码图片,总是改变尺寸

问题描述 急求解决~~~~~!!!!网站后台上传二维码图片,总是改变尺寸 源代码如下 微信平台(二维码): 解决方案 源码在哪里?看不到.插入代码时使用代码片

网站被植入恶意代码,求解决

问题描述 网站被植入恶意代码,求解决 网站被植入恶意代码 <script type="text/javascript" id="clientjs" src="http://mobile.dingsite.com/theapi/getjs?id=3109374&type=30"></script> ,如何防止再次被植入呢 解决方案 如果是虚拟空间,去提供商的管理后台关闭所有文件的写入权限,如果没有这个功能,你只能找到

javaweb-想模仿一个网站的装修计算,但是不知道思路,求解决

问题描述 想模仿一个网站的装修计算,但是不知道思路,求解决 求大神告诉我思路先写什么后写什么用什么去写用什么模式去写,能否用装饰者模式去写 新手在这里感谢了 能帮我写个类似的小代码最好了 解决方案 啦啦

如何解决MacBook鼠标指针乱窜/不受控制的问题

用了快一年的MacBook Pro最近出现了奇怪的问题.出问题时,鼠标不受控制,屏幕上鼠标指针乱窜,还时不时自动点击,犹如电脑被人远程控制一般.不管是用trackpad还是用外接鼠标,都是同样问题.电脑根本无法使用,让人郁闷至极. 前几次出现问题时,关机一段时间后再开机就好了.可是今天出现问题后,无论怎么整,即使关机几小时,问题也依旧. 本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/other/ 后来冷静下来仔细分析了一下,怀

tomcat-Tomcat服务器中url中文传值乱码,急,求解决。。。

问题描述 Tomcat服务器中url中文传值乱码,急,求解决... 上海 在servlet中获取城市,设置了编码为UTF-8,然后跳转带页面, <% String city=(String)session.getAttribute("city"); %> <%=city %>切换城市 不管选择哪个城市,最终显示在网页都是??,求各位大神给出个解决办法.. 解决方案 URL中文乱码服务器端(tomcat)解决方法 解决方案二: java URLEncoder和UR