为了使验证用户是否已经登陆的部分少写代码,我在当前项目中新建了一个类,并在每个webfrom 的page_load 里加了 Safety.IsLogging(),下面是类的内容:using System;
namespace HTWatchSys
{
/// <summary>
/// Safety 的摘要说明。
/// </summary>
public class Safety
{
/// <summary>
/// 验证系统是否登陆
/// </summary>
public static void IsLogging()
{
if (System.Web.HttpContext.Current.Session["U_NAME"]==null)
{
string script = "<script language=\"javascript\">\r<!--\ralert(\"会话已结束,请重新登录。\");opener=null;window.location.href=\"login.aspx\";\r// -->\r</script>";
System.Web.HttpContext.Current.Response.Write(script);
System.Web.HttpContext.Current.Response.End();
}
} /// <summary>
/// 保存登陆状态
/// </summary>
/// <param name="obj"></param>
public static void SaveLogging(string obj)
{
System.Web.HttpContext.Current.Session["U_NAME"]=obj;
} }
}问题1、
登陆的时执行了 SaveLogging(),并跟踪当前页发现session有值,但是进入另一个页面的时候在执行IsLogging 时却没有值,请问这是怎么回事啊?问题2、
因为上面的问题,我怀疑不能把验证部分写到一个类中方便其他窗体调用,请问一般网站中用 session 来验证用户是否登陆,都是分别在每个webfrom里写的验证吗?如果有其他做法希望能提供点思路,谢谢各位了!
namespace HTWatchSys
{
/// <summary>
/// Safety 的摘要说明。
/// </summary>
public class Safety
{
/// <summary>
/// 验证系统是否登陆
/// </summary>
public static void IsLogging()
{
if (System.Web.HttpContext.Current.Session["U_NAME"]==null)
{
string script = "<script language=\"javascript\">\r<!--\ralert(\"会话已结束,请重新登录。\");opener=null;window.location.href=\"login.aspx\";\r// -->\r</script>";
System.Web.HttpContext.Current.Response.Write(script);
System.Web.HttpContext.Current.Response.End();
}
} /// <summary>
/// 保存登陆状态
/// </summary>
/// <param name="obj"></param>
public static void SaveLogging(string obj)
{
System.Web.HttpContext.Current.Session["U_NAME"]=obj;
} }
}问题1、
登陆的时执行了 SaveLogging(),并跟踪当前页发现session有值,但是进入另一个页面的时候在执行IsLogging 时却没有值,请问这是怎么回事啊?问题2、
因为上面的问题,我怀疑不能把验证部分写到一个类中方便其他窗体调用,请问一般网站中用 session 来验证用户是否登陆,都是分别在每个webfrom里写的验证吗?如果有其他做法希望能提供点思路,谢谢各位了!
解决方案 »
- ASP.NET调用存储过程后出现 列“xxx”不属于表 Table。的问题(急急急)
- treeview在点击后返回顶端
- cs里面不能识别div的id ?
- c#中,查询之后的数据是多页显示,当点击第二页之后数据就回到了原始数据
- 求 软件开发常用的图片包!
- 表格行里面用getElementById为什么不行的。
- 哪有比较简单实用的图片上传程序!各位高手能推荐一下吗~!
- 请问我这段sql语句如何排序加order by 请高手帮忙
- 为什么我写的控件加不上图标
- 什么时候方法前要加static修饰 ,什么时候不要加static修饰 ?
- 请问有没有办法用javascript遍历vs2003的TreeView?
- 怎么写数组转换不对吗?
2.可以用页面的基类来做
public class BasePage : System.Web.UI.Page
{
override protected void OnInit(EventArgs e)
{
base.OnInit(e);
ValidateUser();
}
}
webform1:BasePage