用户数据库里加一个TempID的字段,用户登陆后就修改这个字段为随机的字符,然后把字符返回给SESSION,每次访问都比较session中的这个字段和数据库是否符合,如不符合,拒绝访问,不就可以了吗?
解决方案 »
- 这是浏览器图形渲染的bug 关于 div 画面渲染 问题
- 数据处理后如何返回查询页面
- asp页面 和asp.net后台代码怎么互动
- 我创建的asp.net web 服务为什么打不开了
- DataList根据值显示数据的问题
- 请问在asp.net下怎样开发工作流?
- 怎么实现点击小图看大图
- 请问如何在html控件:table里动态的添加web空间:textbox
- 如何给用户控件定义属性?急,在线等
- ****** ASP.NET中 客户端 如何执行本地 Exe ********
- 真郁闷;-( 为什么我的DataList显示图片时,最后一张总是显示不出来啊!帮帮忙,急啊!!
- 通用的导入excel语句,却不能通过,请教
你的意思是:用户admin在计算机A上成功登陆以后,不允许同一个用户admin在计算机B上再次登陆
我的目的是:用户admin可以在计算机B再次登陆,但是先前此用户先前在计算机A上的登陆会无效
比如说做个用户和IP的对应,当用户登陆时更新对应IP,然后以前的IP就失效等等,但最好的方法我觉得还是TID的方法,或者你可以把TID保存在全局变量中
再添加一个全局的key值记录用户登陆时的状态,一但发现该状态发生了改变,就不让再做任何操作
bool state = Application[UserName+"State"].ToString();
if(state==null)state=false;
Application.Add(Page.Session["UserName"].ToString()+"State",!state);
Session["State"]=!state;用户每做一操作,检查Session["State"]是否和Application[UserName+"State"]一样,如果不一样就发出异常……
Application.Remove(Page.Session["UserName"].ToString());
Application.Add(Page.Session["UserName"].ToString(),Request.UserHostAddress); 创建一页面:autologout.aspx用来判断Session["UserName"]和Request.UserHostAddressWebApp中的每一个业务页面(.aspx)都从autologout.aspx继承,如:public class WebForm1 : autologout这样,如果用户在不同的机器上登陆,Request.UserHostAddress总是最晚登陆的Ip地址,当
先前已经登陆的用户如果在请求业务页面,会发现Request.UserHostAddress已经不同了,系统自动注销看来,有些问题还是自己解决比较爽!散分