求助判断登录的用户是否 超时?

liaoyunt07 2009-02-02 09:24:37
登录的用户的用户名和密码放在session或cookie里
每次跳转别一个页面时,都要判断session或cookie,是否超时或没有登录,这样很麻烦~~

可不可以只判断一次后,在跳转页面时就能知道用户已经超时~~

最好能给个小的例子~~

分不够我在再加分~`
...全文
363 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
lts898989 2009-02-02
  • 打赏
  • 举报
回复
同意3楼做法
liaoyunt07 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 ojlovecd 的回复:]
不要写在构造函数中,进入构造函数的时候还没到Asp.net的页面生命周期,所以是读不到Session的,尝试一下以下代码:

C# code
namespace Wccccc
{
public class ap: System.Web.UI.Page
{
public ap()
{

}

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Session["a"] == null)
C…
[/Quote]


谢谢搞定了~~

要按照你那重写法~~就没有问题目了~

我马上结贴去
liaoyunt07 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 xiaojing7 的回复:]
在web.config中加了下面一句:

<pages enableSessionState="true" />
[/Quote]

不知道怎么搞得还是一样~~

出现同样的错误~
我姓区不姓区 2009-02-02
  • 打赏
  • 举报
回复
不要写在构造函数中,进入构造函数的时候还没到Asp.net的页面生命周期,所以是读不到Session的,尝试一下以下代码:

namespace Wccccc
{
public class ap: System.Web.UI.Page
{
public ap()
{

}

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Session["a"] == null)
ClientScript.RegisterClientScriptBlock(this.GetType(), "TimeOut", "alert('Session Time out');", true);
}
}
}

xiaojing7 2009-02-02
  • 打赏
  • 举报
回复
在web.config中加了下面一句:

<pages enableSessionState="true" />
liaoyunt07 2009-02-02
  • 打赏
  • 举报
回复

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Wccccc
{
/// <summary>
/// ap 的摘要说明。
/// </summary>
public class ap:System.Web .UI .Page
{
public ap()
{
if(Session["a"]==null)
{
Response.Write ("<script>alert('用户登录已超时,请重新登录');window.location.href='test.aspx'</script>");
}
}
}
}


就这一点代码~~~
liuyeede 2009-02-02
  • 打赏
  • 举报
回复
直接用MemberShip吧。是否超时都可以计算。缓存时间的长短可以设置。
我姓区不姓区 2009-02-02
  • 打赏
  • 举报
回复
把你ap类的代码全贴出来看看
liaoyunt07 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ojlovecd 的回复:]
使用MasterPage,在MasterPage里面做判断
或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
[/Quote]

只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态

源错误:


行 19: public ap()
行 20: {
行 21: if(Session["a"]==null)
行 22: {
行 23: Response.Write ("<script>alert('用户登录已超时,请重新登录');window.location.href='test.aspx'</script>");


源文件: C:\Inetpub\wwwroot\Wccccc\ap.cs 行: 21



会话状态是真的啊~~

怎么会出这样的错啊
wh110 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ojlovecd 的回复:]
使用MasterPage,在MasterPage里面做判断
或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
[/Quote]

顶一下这个回复
gtiroy 2009-02-02
  • 打赏
  • 举报
回复
我记得在web.config中能自动判断session的。如果超时自动跳转到指定页面。
liaoyunt07 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ojlovecd 的回复:]
使用MasterPage,在MasterPage里面做判断
或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
[/Quote]

我现在试一试~~

看能不能实现
glt3260053 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 winner2050 的回复:]
干脆用session算了,超时会消失,变成null值的.

cookie本来就是为了持久登录用的.
[/Quote]
简单易用
ra2_fang 2009-02-02
  • 打赏
  • 举报
回复

3楼的方法
学习了
qinhl99 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ojlovecd 的回复:]
使用MasterPage,在MasterPage里面做判断
或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
[/Quote]

这个朋友已经说的很全了,这是一个常见的问题
anlaetion 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ojlovecd 的回复:]
使用MasterPage,在MasterPage里面做判断
或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
[/Quote]

用类做判断更为科学...顶
lianhui1122 2009-02-02
  • 打赏
  • 举报
回复
用母版页,虽然还是每个页面还是判断了一次,但可以少写一些代码。。
anlaetion 2009-02-02
  • 打赏
  • 举报
回复
补充:ifrome判断后如果不在登陆状态需要带URL参数刷新父页..如父页需要保留一些数据那此法不可为
accomp 2009-02-02
  • 打赏
  • 举报
回复
只判断session,超时就没了。 session存在再取cookie值
我姓区不姓区 2009-02-02
  • 打赏
  • 举报
回复
使用MasterPage,在MasterPage里面做判断
或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
加载更多回复(4)

62,046

社区成员

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

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

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

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