前台判断用户是否登录的一般思路是什么 ? 如题 ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 登陆后在session内放一个标识符标志用户已登录 一般登陆的话 就是判断session["LoginName"]存不存在啊 登录成功后,存一个session然后判断session是不是空…… 一般用Session来判断 比如有个lg_name 是用户名string lg_name = this.TextBox1.Text;session["lg_name"] = lg_name;if(session["lg_name"]==null){没登陆}else{你懂得了。。} 这玩意,我有点纠结,session 虽然可以设时间的长短,但它易丢失,且点用服务器内存,用cache呢,cache是全局可见,session 是局部的。用cookie呢,如果浏览器设置了禁用,首先要启用然后设键值和过期时间,而这个真正的过期时间呢,也不知道怎么设,因为你不知道用户什么时候下线。所以有的时候,我访问有些网站,都过了一天了,cookie还在,存数据库里,也是一种方法,但,我是不是要定期的删除这些用户登陆的记录。。等高手 登录时判断session或cookie是否存在 前台怎么判断session是否存在啊 ? 1.在Login()中添加HttpContext.Current.Session.Add("LoginUserNm", dtUser.Rows[0][0].ToString());当用户登录的时候把用户名称保存到session中2.在Page_load()方法中 protected override void PageLoadEvent(object sender, EventArgs e) { Ajax.Utility.RegisterTypeForAjax(typeof(MainContent)); conn.Value = ConnStr; UserNamestr = Request.QueryString["UserName"] == null ? string.Empty : Request.QueryString["UserName"].ToString(); PassWordstr = Request.QueryString["PassWord"] == null ? string.Empty : Request.QueryString["PassWord"].ToString(); if (!IsPostBack) { if (UserNamestr != "" && PassWordstr != "") { Login(ConnStr, UserNamestr, PassWordstr); } } } IF(userName,pwd!=空) { IF(bl)//拿userName去db中獲取pwd,如果沒有返回值:說明userName錯誤,有返回值再拿該返回值和用戶輸入的pwd判斷 { //登陸成功 Session['userName']=txtUserName.text;//保存登陸信息 } }以後判斷Session['userName']是否為空就行了 form类有一个静态属性,去百度一下就知道 了 Cookies HttpCookie cookie = new HttpCookie("userlogin"); cookie.Values["loginName"] =l_name; //cookie.Values["loginpwd"] = l_pwd; cookie.Expires = DateTime.Now.AddMinutes(60); HttpContext.Current.Response.AppendCookie(cookie); if (HttpContext.Current.Request.Cookies != null && HttpContext.Current.Request.Cookies["userlogin"] != null && HttpContext.Current.Request.Cookies["userlogin"]["loginName"] != null && HttpContext.Current.Request.Cookies["userlogin"]["loginpwd"] != null) { username = HttpContext.Current.Request.Cookies["userlogin"]["loginName"].ToString(); } /// <summary> /// 登陆按钮单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button_Click(object sender, EventArgs e) { user = pUser.LoginCheck(this.TextName.Text,this.TextPwd.Text); //pUser.LoginCheck()方法是判断用户是否存在 //设置 Session,登录成功,把用户对象信息存在session里 Session.Add("User", user); //登陆成功页面跳转 Response.Redirect("~/XXXX.aspx"); }//============================//XXXX页面 protected void Page_Load(object sender, EventArgs e) { if (Session["User"] == null)//如果Session不为空,说明用户没有登录,如果是成功登录,Session["User"]里会有个user对象 { Response.Redirect("~/Login.aspx"); //返回登录页面 } } if (Session["User"] == null)//如果Session为空,说明用户没有登录上面打错一个字 用户登录成功后将其用户的重要登录信息保存在session或者cookies中。至于判断的话就是根据前面保存的session或者cookies去取值,是否存在,是否正确来判断用户是否登录了系统。 通过Session或者cookies在加载的Page_Load里判断下Session或者cookies是不是空的~ 你把你登陆的用户,存储到Session里面,然后在要判断用户是否存在的页面判断Session是否为空,就OK了 嗯 ,大家的基本思想都是用session ,其实你可以用membership这个 ,很强大 。他自己有很多功能也很使用的 。而且就控制力来说 ,还是可以的。 为什么gridview 重新绑定数据和刷新页面,整个界面还是没有变化? 一个简单的两个页面弹出选择值后返回主页面,总是调试不正确,求助 关于数据绑定 请教:这段数据操作代码con怎么关闭啊 关于treeview在ie5下运行不正常的问题。急!!! 请教下大家一个编码问题。 Fileupload 控件无法上传大文件 怎样限制,ASP.net做的系统,买1套,只让装在1台电脑上.也就是防止盗版. 请问一个比较幼稚的问题 急聘:C#程序员 请教一下关于生成静态HTML页面的问题 点击页面上A标记的href="xx.aspx"页面的时跳转页面有时不能成功
然后判断session是不是空……
lg_name 是用户名
string lg_name = this.TextBox1.Text;
session["lg_name"] = lg_name;
if(session["lg_name"]==null)
{
没登陆
}
else
{
你懂得了。。
}
1.在Login()中添加HttpContext.Current.Session.Add("LoginUserNm", dtUser.Rows[0][0].ToString());当用户登录的时候把用户名称保存到session中
2.在Page_load()方法中
protected override void PageLoadEvent(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(MainContent));
conn.Value = ConnStr;
UserNamestr = Request.QueryString["UserName"] == null ? string.Empty : Request.QueryString["UserName"].ToString();
PassWordstr = Request.QueryString["PassWord"] == null ? string.Empty : Request.QueryString["PassWord"].ToString(); if (!IsPostBack)
{
if (UserNamestr != "" && PassWordstr != "")
{
Login(ConnStr, UserNamestr, PassWordstr);
}
}
}
{
IF(bl)//拿userName去db中獲取pwd,如果沒有返回值:說明userName錯誤,有返回值再拿該返回值和用戶輸入的pwd判斷
{
//登陸成功
Session['userName']=txtUserName.text;//保存登陸信息
}
}以後判斷Session['userName']是否為空就行了
HttpCookie cookie = new HttpCookie("userlogin");
cookie.Values["loginName"] =l_name;
//cookie.Values["loginpwd"] = l_pwd;
cookie.Expires = DateTime.Now.AddMinutes(60);
HttpContext.Current.Response.AppendCookie(cookie); if (HttpContext.Current.Request.Cookies != null && HttpContext.Current.Request.Cookies["userlogin"] != null && HttpContext.Current.Request.Cookies["userlogin"]["loginName"] != null && HttpContext.Current.Request.Cookies["userlogin"]["loginpwd"] != null)
{
username = HttpContext.Current.Request.Cookies["userlogin"]["loginName"].ToString();
}
/// <summary>
/// 登陆按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button_Click(object sender, EventArgs e)
{ user = pUser.LoginCheck(this.TextName.Text,this.TextPwd.Text); //pUser.LoginCheck()方法是判断用户是否存在
//设置 Session,登录成功,把用户对象信息存在session里
Session.Add("User", user);
//登陆成功页面跳转
Response.Redirect("~/XXXX.aspx");
}
//============================
//XXXX页面
protected void Page_Load(object sender, EventArgs e)
{
if (Session["User"] == null)//如果Session不为空,说明用户没有登录,如果是成功登录,Session["User"]里会有个user对象
{
Response.Redirect("~/Login.aspx"); //返回登录页面
}
}
上面打错一个字
在加载的Page_Load里判断下Session或者cookies是不是空的~