I have an asp.net website using the SQL ASP.net membership system. When users are logged in to the website and are inactive for 20 minutes, they get sent to the login page on the next page request. I would like to show some text on the login page that says “you were logged out due to inactivity” when this happens. Is there a built-in way to do this? Or any other ways I could distinguish why the user has been sent to the login page (for inactivity or some other reason)? I have scoured SO and Google but haven’t been able to come up with anything.
The reason we need to do this is because we recently migrated from a previous version of the website that was lax about security and didn’t have auto logout, so we’re getting lots of feedback from users thinking there’s something wrong with the website when they are prompted to login again.
Thanks in advance.
For purposes of closure, I’ll answer my own question. I couldn’t find a clean way of doing what I’d like, so I ended up setting a cookie with the login time after the user logs in. Then on the login form page, I see if the login time in the cookie is greater than 30 minutes old (my auth timeout in asp.net) and display a “logged out due to inactivity” message. Otherwise it doesn’t display the message.
Not great, but it seems to work. Satisfies the requirement for the vast majority of our users.