开发者

how to kill the session when user closed the browser without logout

I am developing one aspnet application in that i am using Sessions. if user login into the application and click on logout here i am closing session.

suppose if the user doesn't click on the logout and he close the browser. how to kill the session when user 开发者_JAVA技巧closed the browser without logout


Very difficult task:

  • use sessions with very smalll timeout /you will have expiration/

  • use hidden script/iframe to ping server /you will have connection/

  • handle onunload event in window /can be bypassed/

Code sample:

window.onunload = function ()  
{    
    if((window.event.clientX<0) && (window.event.clientY<0)) {

       window.open("logoff.aspx");                  
    }    
}


There is no way your application can know that the user has closed the browser. Session will be closed based on Session.Timeout

If the user does not refresh or request a page within the time-out period, the session ends.


You can define what should happen when a Session expires in Global.asax.cs.

protected void Session_End(Object sender, EventArgs e)
{
    // Do stuff here...
}

Edit: There is no way for the web server to know that you have closed a web browser.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜