如何在asp.net中做个监控事件来监控session值,当session 值为空的时候自动跳转到登录页面!

corder_li 2007-08-09 09:22:10
如题!
...全文
470 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangjun0102 2008-10-16
  • 打赏
  • 举报
回复
首先你可以考虑使用<authentication mode="Forms">来配置,基于页面的验证。这个可以自动跳转。
如果必须使用session那么可以考虑使用下面大额方法:
首先需要对所有的session访问做一个包装类,不能直接访问。你可以实现一个叫SessionManager的类里面有类似下面的方法:
public object CurrentSession(){
try{
if(HttpContext.Current.Session != null){
return HttpContext.Current.Session
}
else{
HttpContext.Current.Response.Redirect("login.aspx");
}
return null;
}
catch(System.Threading.ThreadAbortException) {
// do nothing
}
}
所有的session都从这个函数中获得。
Session_End是一个服务器方法,它是在Session过期后激发但是并不能在这里重定向页面。
tangjun0102 2008-10-16
  • 打赏
  • 举报
回复
最好使用.net本事的form验证,web.config中设置
没有登陆则跳转到
<authentication mode="Forms">
<forms name="checkQX" loginUrl="admin/login.aspx" protection ="All" timeout="20"></forms>
</authentication>
<location path="admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
这样用户没有登陆或Session过其的,去访问admin目录下的页面的时候,都会跳转到登陆页面.
xht0832 2007-08-09
  • 打赏
  • 举报
回复
需要验证的页面就把写好的组件拖过去就行了。什么都不用做了
xht0832 2007-08-09
  • 打赏
  • 举报
回复
资源管理器中 项目 右键 添加,加入 用户控件 就是后缀名为.ascx的组件。然后他的CS文件里写控制代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"]==null)
{
Response.Redirect("Login.aspx");
}
}
前台页面不用写,写完后保存,每个需要的页面扔一个,由于前台什么都没写,所以运行时是看不到的
freeboy827 2007-08-09
  • 打赏
  • 举报
回复
写一个主页面,然后每个页面都继承好了
corder_li 2007-08-09
  • 打赏
  • 举报
回复
xht0832:具体怎么实现呢
用户控件是怎样 的?
需要验证登陆的页面扔个什么?
xht0832 2007-08-09
  • 打赏
  • 举报
回复
写个用户控件,在里面判断session的相关值是否为空,空则跳转。然后每个需要验证登录的页面扔一个,省事!
gjunyu1982 2007-08-09
  • 打赏
  • 举报
回复
不知道在application里面加个数组监视行不行 ?
chenzhifeng 2007-08-09
  • 打赏
  • 举报
回复
if(Session["value"]==null)
{
Response.Redirect("login.aspx");
}
corder_li 2007-08-09
  • 打赏
  • 举报
回复
那在每个页面都要做吗?
glacier111 2007-08-09
  • 打赏
  • 举报
回复
在js中
if('<%Session["abc"]%>' == null)
{
window.location = "login.aspx";
}

62,046

社区成员

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

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

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

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