日期:2014-05-17  浏览次数:20409 次

当session过期,跳转到登陆页面。
用户登陆后很长时间没有操作,session过期。则跳转到登陆页面。这怎么写代码。
主要是有很多页面,不可能在每个页面都加if(session["XX"]==null)的判断。是不是要在什么配置文件里写。语言是C#的?
各位大虾帮帮们。

------解决方案--------------------
但是我们项目里面每个页面都有引用
------解决方案--------------------
建立一个类,假设该类叫做PageBase,PageBase类继承System.Web.UI.Page类,重写OnLoad事件,在OnLoad事件里判断session是否存在

using System;

using System.Web.UI;

public class PageBase : Page

{

    //重写Page基类的OnLoad事件方法

     protected override void OnLoad(EventArgs e)

     {

        base.OnLoad(e);

        if (Session["LOGIN_FLAG"] == null)

        {

            Response.Redirect("Login.aspx");

         }

     }

}

在网站中新建页面,你会发现

public partial class _Default : System.Web.UI.Page
    {

每张页面都继承了 System.Web.UI.Page

将它修改为继承PageBase

public partial class _Default :PageBase
    {

这样就可以了


------解决方案--------------------
可以在webconfig里form认证

<authentication   mode= "Forms "> 
<forms   name= ".login_Info "   loginUrl= "WebForm1.aspx "   protection= "All "   timeout= "20 "   />   
</authentication> 
        <authorization> 
<deny   users= "? "   /> 
</authorization>  
 
 
 

------解决方案--------------------
用继承的方法,如果用forms验证的话,是在没有登录的情况,访问需要session值不为空时才跳到指定页面,如果是session过期是不是跳到页面的,而是跳到error指定的页面