如何用Session判断用户登陆?

codecb 2004-06-08 07:01:11
在Page_Load中

if(Session.Count==0)
{
Response.Redirect("login.aspx");
}
else
{
Label.Text=Session["username"].ToString();
}

这样可以吗 我看到书上这么写的,不过我认为不应该Session.Count来
判断吧 还有其Session吧。 那怎么用Session判断用户登陆?
...全文
334 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifan99 2004-06-11
  • 打赏
  • 举报
回复
up
cbfans 2004-06-08
  • 打赏
  • 举报
回复

这样麻烦还是用这个吧

HOW TO:使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证


http://support.microsoft.com/default.aspx?scid=kb;zh-cn;301240&Product=vsnet
anbeel 2004-06-08
  • 打赏
  • 举报
回复
用js捕获ie关闭事件,打开另一个页面,调用Session.Abandon()
etuchang 2004-06-08
  • 打赏
  • 举报
回复
应该在页面关闭前及时将session值清空
vzxq 2004-06-08
  • 打赏
  • 举报
回复
关了还有Sesion的
dongjf2002 2004-06-08
  • 打赏
  • 举报
回复
关注
codecb 2004-06-08
  • 打赏
  • 举报
回复

关闭了浏览器后,SESSION还是有效的

fangbuge 2004-06-08
  • 打赏
  • 举报
回复
关闭了浏览器后,SESSION就是无效的了,我是这样认为的。
lovecrayfish 2004-06-08
  • 打赏
  • 举报
回复
用一楼或者三楼的Session方法是可以判断用户登录,可是Session在IE关闭以前默认是有效的,期间用户可以再次访问页面,是有一定的安全问题。
hertcloud 2004-06-08
  • 打赏
  • 举报
回复
// 下面的 id 改成 pwd就是了private void btnSubmit_Click(object sender, System.EventArgs e)
{
if(txtID.Text=="" || txtName.Text=="")
lblMsg.Text="准考证和姓名都不能为空!";
else
{
//获取准考证号和姓名
string strID=txtID.Text.Trim();
string strName=txtName.Text.Trim();
//依据考号姓名查询数据库
//string strConn=@"Data Source=(local);Integrated Security=SSPI;"+"Initial Catalog=examination";
string strConn="server=localhost;database=examination;uid=sa;pwd=12345";
string strComm="select [id],[name] from studentinfo where [id]='"+strID+"' and [name]='"+strName+"'";
SqlConnection conn=new SqlConnection(strConn);
conn.Open();
SqlCommand comm=new SqlCommand(strComm,conn);

//SqlDataAdapter adp=new System.Data.SqlClient.SqlDataAdapter(strComm,conn);
//DataSet ds=new DataSet();
//adp.Fill(ds,"studentinfo");

SqlDataReader dr=comm.ExecuteReader();
bool drBool=dr.Read();
dr.Close();
conn.Close();
//有记录的时候返回!
//if(ds.Tables["studentinfo"].Rows.Count>0)
if(drBool)
{
if(strID==Session["ID"].ToString())
lblMsg.Text="对不起!您的考号已经登录!";

Session["ID"]=strID; //存储准考证号
Session["Name"]=strName; //存储姓名
Response.Redirect("test.aspx"); //导航到考试页面

}
else
lblMsg.Text="对不起,您的准考证号和姓名至少有一个不正确!";

}
}
zengzhi318 2004-06-08
  • 打赏
  • 举报
回复
这样很麻烦的,你还是在web.config里面设置为form验证吧
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="/login.aspx">
</forms>
</authentication>
morality 2004-06-08
  • 打赏
  • 举报
回复
if(Session["UserID"] == null)
{
Response.Redirect("login.aspx");
}
else
{
Label1.Text = Session["UserID"].ToString();
}
codecb 2004-06-08
  • 打赏
  • 举报
回复
那用户关闭IE而Session没有过期,就可以再次访问页面 会不会不安全?
zpisgod 2004-06-08
  • 打赏
  • 举报
回复
if(Session["username"]==null)
{
Response.Redirect("login.aspx");
}
else
{
Label.Text=Session["username"].ToString();
}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧