各位老大,请教一个关于Session的问题。

tangjun 2003-04-12 03:56:14
我的想法:
用户登陆后,将登陆成功信息保存在Session中,用户操作时正常使用,当用户离开或者没有进行任何操作达10分钟则将Session清除,要求重新登陆,请教该怎么做。十分谢谢!
...全文
41 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fordfamily 2003-04-12
  • 打赏
  • 举报
回复
to:xrascal(横刀夺爱)
强!
saucer 2003-04-12
  • 打赏
  • 举报
回复
Session的Timeout是Sliding的,不是绝对值,每次用户访问服务器后,又往后延长时间,所以设置短的Timeout时间就行了(默认是20分钟)
tangjun 2003-04-12
  • 打赏
  • 举报
回复
绝对有问题,
开始启动登陆页面:4:17
timeout=2
不停的操作,两个操作间绝对不超过30秒
再次出现登陆页面时间:4:22
why?
login.aspx.cs的page_load()

int level=this.CheckUser(this.TxtUserName.Text.Trim
(),this.TxtPassWord.Text.Trim());
if(level!=-1)
{
Session.Add("Logined","true");
Session.Add("Level",level);
Response.Write("<script language=javascript>window.open
('"+Session["CurPageUrl"].ToString()
+"', '_self');</script>");
}
else
{
this.MessageBox("用户名或者密码错误,登陆失败,请重新登陆!");
}


Web.config:

<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="2"
/>



运行页面
Session.Add("CurPageUrl",Page.Request.Url);

if(Session["Logined"]!=null)
{
if(Session["Logined"].ToString().Trim()=="true")
{
if(Session["Level"].ToString().Trim()=="1")
{
this.Btn_Add.Enabled=false;
this.Btn_Modi.Enabled=false;
this.Btn_Cancel.Enabled=false;
this.Btn_Del.Enabled=false;
this.Btn_Save.Enabled=false;

}
if(!Page.IsPostBack)
{
d1=new TreeData(this.TreeView1,2,strconn,strcmd,"DEPTNUM","DEPTNAME");
d1.AddZG(1);
CurDpPoint=0;
this.BindForm(this.TreeView1.GetNodeFromIndex(this.TreeView1.SelectedNodeIndex).ID.Trim());
}
}
else
{
Response.Redirect("login.aspx");
}
}
else
{
Response.Redirect("login.aspx");
}

页面:http://www.hntbtc.com/rsgl/rsdpxx.aspx
username=tj
password=tj
谢谢各位!
tangjun 2003-04-12
  • 打赏
  • 举报
回复
测试中。。。。
csdn_bob 2003-04-12
  • 打赏
  • 举报
回复
刷新倒是可以,如果你说操作也超时的话,估计刷新也没有用!
csdn_bob 2003-04-12
  • 打赏
  • 举报
回复
不可能!要不就是在什么地方调用了abondom(不知道写错没有)方法!
暗石绿 2003-04-12
  • 打赏
  • 举报
回复
10 分钟……
放个大小为 0的 iframe ,不停地刷新。
嘿嘿。
tangjun 2003-04-12
  • 打赏
  • 举报
回复
但是现在的情况是我有请求它也超时的,等下将代码发给你
csdn_bob 2003-04-12
  • 打赏
  • 举报
回复
这个10m,是你对这个站点没有任何请求的情况下长达10m,所以你一直在操作,就不会出现重新登录的情况!
tangjun 2003-04-12
  • 打赏
  • 举报
回复
因为Session有个Timeout,如果我设置为timeout=10;那么我操作10分钟它就要我重新登陆一次,这样很烦躁的,有没有办法解决啊?
csdn_bob 2003-04-12
  • 打赏
  • 举报
回复
你想要怎么样呢?是用户回来不用登录吗?这样又存在安全问题呀!
最好是用cookies来解决,也不安全,因为用户上网的场所可能在公共场所,所以只有重新登录!

62,041

社区成员

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

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

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

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