怎么判断用户是否登录啊,用什么好些..... 谢谢大家 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用session存储登陆或者在数据库中设置一字段 0为在线 1为下线~~ if (如果用户名和密码正确){ string key = TextBox1.Text; //用户名文本框设为cache关键字 string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值 //判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆 if (uer == null || uer == String.Empty) { //定义cache过期时间 TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); //第一次登陆的时候插入一个用户相关的cache值, HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null); Response.Cookies["name"].Value = TextBox1.Text; Response.Cookies["name"].Expires = DateTime.Now.AddMinutes(20); Response.Redirect("huibackindex.aspx"); } else { //重复登陆 Response.Write("<script>alert(;对不起,该用户已登陆,请稍候再试或换个用户登陆!');window.location='login.aspx';</script>"); } } if(Session[User] as user!=null){逻辑代码} 上面的是防止重复登陆.如果只是要判断用户是否已登陆则:用户登陆成功的时候记录sessionsession["username"]="用户名";判断则if(session["username"]!=null){已登陆.}else{未登陆.} session或cookie在BaserPage里判断 public class BasePage : System.Web.UI.Page { public BasePage() { } protected override void OnInit(EventArgs O) { if (base.Session["UserId"] == null || base.Session["UserId"].ToString().Equals("")) { Response.Redirect("~/Error.aspx"); } } } 或IhttMoudle 在登录页面的后台用Session["UserName"]记录用户的登录状态,如果用户登录了,那么Session["UserName"]是又值的,如果没有登录则为空,所以用如下判断if(session["username"]!=null){已登陆.}else{未登陆.} 学习,我都是用的Session,还简单 哈哈 我觉得用session是很方便,但是有些人就是喜欢打开一个网页几十分钟后才进行下一步操作,这样session就丢失了,就需要在页面里检查session,很是麻烦。检查后发现session没了,还要提示他再登录,用户也觉得麻烦。还不如用cookies好。 利用session在数据库设置一时间字段 ,利用ajax不停的更新和读取个人比较推荐第二种 利用session 和 cookie,同时用比较好。 如果安全性要求较高,建议用session,如果只是论坛之类的使用cookie就可以了。 肯定是用Session啊,上面的说的很清楚了 session,cookie,Application都可以实现! C#解析XML 技术难题 你能解决几个 如何导出带中文名称的excel文件 随机显示图片 关于RDLC报表.在线等…… 如何读取Datagrid控件中checkbox的值(急求) 紧急求救文件上传和下载的程序c#语言 出现"未将对象引用设置到对象的实例"??????????? 一个高手可回答的低级问题 模板列的问题! IIS发布网站后,login控件总是登陆失败,快崩溃了 有关显示的问题(绝对初级)
或者在数据库中设置一字段 0为在线 1为下线
~~
{
string key = TextBox1.Text; //用户名文本框设为cache关键字
string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值
//判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆
if (uer == null || uer == String.Empty)
{
//定义cache过期时间
TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
//第一次登陆的时候插入一个用户相关的cache值,
HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null);
Response.Cookies["name"].Value = TextBox1.Text;
Response.Cookies["name"].Expires = DateTime.Now.AddMinutes(20);
Response.Redirect("huibackindex.aspx");
}
else
{
//重复登陆
Response.Write("<script>alert(;对不起,该用户已登陆,请稍候再试或换个用户登陆!');window.location='login.aspx';</script>");
}
}
{
逻辑代码
}
如果只是要判断用户是否已登陆则:
用户登陆成功的时候记录session
session["username"]="用户名";
判断则
if(session["username"]!=null)
{
已登陆.
}
else
{
未登陆.
}
在BaserPage里判断
public class BasePage : System.Web.UI.Page
{
public BasePage()
{
}
protected override void OnInit(EventArgs O)
{
if (base.Session["UserId"] == null || base.Session["UserId"].ToString().Equals(""))
{
Response.Redirect("~/Error.aspx");
}
}
} 或IhttMoudle
if(session["username"]!=null)
{
已登陆.
}
else
{
未登陆.
}
在数据库设置一时间字段 ,利用ajax不停的更新和读取个人比较推荐第二种