Display Message To User When Forms Authentication Session Expires?
Oct 21, 2010
I simply want to display a message on the login page when the user is automatically redirected there after requesting a page that they were logged in for but their session has now expired. So essentially if the user was working but stepped away for a lunch break without logging out I want the system to tell them why they were sent back to the login page.
Something like "You have been idle for too long so you must log back in".
This has to be easy I am just running into a wall here. I thought about getting the original ticket and reading the expiration date but I'm a little lost.
I cache information about the currently logged in user in the session. This info lazy loads whenever a CurrentUser property on my global application class is used. It does this by calling GetUser() on my custom implementation of MembershipProvider, which either loads the user up from the session, or loads the user from the DB and throws the user object in the session.
How should I handle this scenario?
User logs in. Administrator deletes user (or deactivates...the point is they can't log in any more). User's session expires. User navigates to a page or makes a request, or whatever.
Currently if this scenario occurs, NullReferenceExceptions are thrown all over the place, because the ASP .NET framework calls GetUser() which returns nothing because it can't find the user in the database (and there's nothing in the session because it expired).
I have a web app using forms authentication and I have restricted a folder so that only those with an administrator role can access it. I am controlling all of this through the web.config file and adding the proper location tags to restrict access.Currently the application is working fine. If I am logged in as a user and click the link to the administration section, I'm redirected to the login page once again. If I look at the URL, the ReturnUrl parameter is set properly.What I'd like to do is to display a message to the user indicating insufficient security privileges, or something to that effect so the user doesn't think they are getting logged out of the application prematurely or that the application isn't working.
Using this code i want to show an modal pop up to the user that "your session will be expired within 5 minutes , Click here [BUTTON] to reset your session" , here's my code :
<asp:Button ID="btnReset" Text="Reset" runat="server" OnClick="ResetSession" /> <br /> Your Session will expire in <span id = "seconds"></span> seconds. <script type="text/javascript"> function SessionExpireAlert(timeout) { var seconds = timeout / 1000; seconds--;
Page2 having Button 2 and an ascx control UC1. UC1 has a Button 3. Page2 is a modal dialog ( window.showModalDialog )
on Click of Button1 open Page2(modal dialog).
Page2 has UC1. UC1 has a button B3. On click of B3,instead of directly going to B3_click event, another post back happens. Thereafter opens login.aspx in another browser ( It is losing Session containing UserDetails as well as other session details).
now even If I continue entering Username and password, page2 reloads again in the new browser.
I am totally lost.
1) I do not know why UC1 button click makes another postback and thereafter opens up into another page losing all the sessions!!
I want to retain teh sessions till i go back to page1.
URL.... Still there will be need of url in ajax method if i put javascript in site.master.cs . As what i have understood from that mysite.master.cs will be like this :
My users need to stay logged in for 1 day, so I used a persistent authentication cookie with an expiration of 1 day but it still times out after 20 minutes (which is the default timeout for the session, not the cookie).
I'm getting this error code in a voting system which I made.
"Violation of PRIMARY KEY constraint 'PK_Awards'. Cannot insert duplicate key in object 'dbo.Awards'. The statement has been terminated."
It's good because it means I am stopping people from voting twice, however, I want to display an error message in the site, and I want to make this occurance user friendly, as I have no idea how this error will look when the website is live.
Here is all of my code:
[Code]....
How will this error look when the website is live? How can I display a message to warn the user that he has already voted?
I want to know page name when session expires so that I redirect user to that page after relogin. I am checking session in Master page's page load event
i'm using forms based authentication within my aspnet (c#) website. At the log in page i'm capturing username, password and email. the email addressed is stored within the membership table. now on a new page, i'd just like to display the users' email address so they update it as well as another boolean field. i've tried using a gridview but i can't figure out how to modify the query so it only reveals the current logged in user.
I am using Session variable throughout in my application and my timeout is 1 hour. Here I need to catch the exception for session expires in any global way across my application.
i want your opinion about the Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 20))that i have seen in some sites that is used for refresh the page every time a little bit before the session expires
I am using a timer in the master page of my web site in order to keep a 'status bar' up to date with all sorts of information.The issue is that the whole point of session expiry goes to waste, because a postback is always being made (although asynchronic) to the server.
How can i still expire the session after a wanted period of time?
I have a simple ASP.NET 4 site. I am using Forms Authentication. I have Session timeout set to 20 minutes. Also when the user authenticates I set the AuthenticationTicket to expire in 20 minutes. So normally everything works fine. If there is more than 20 minutes of inactivity and the user requests a page on the site they are redirected back to the Login page as I would expect.
However, let's say that the user is on a page that contains a form. Then they wait 25 minutes. Then they go to submit the form. Instead of being redirected back to the Login page, the site attempts the postback and I immediately get errors because there is code in the postback that attempts to get information out of Session.
It seems like ASP.NET does not redirect back to Login on postback if the AuthenticationTicket and Session has expired. How can I handle this? I hope I don't have to write special code on each page.
I use validation control in my page when users click on button if they don't enter data in textboxs it show massage in validation control
I want In addition to using validation control when users click on button to insert data it show error massage thar show EX: "please complete your form"
In my asp.net website I am creating a session upon user login and I would like to perform some operations in the database just before this session will expire.I am having problem in determining where should I write code and how will I know the session is going to expire.
I am not sure if 'session_end' event of 'Global.asax' suits my requirements as the session I want to check is created manually(not a browser instance).
On localhost works well. On the hosting server expires very quickly. Sometimes after a minute, and sometimes after a few minutes.
I tried mode="StateServer" and mode="SQLServer", but first works the same, other doesn't work. The next problem is that End_Session in global.asax doesn't executes if mode is not InProc. And I need this.
How could I achive that session expires only when browser is closed or other url is typed. Just setting timeout doesn't work.
my web app doesn't use authorization in web.config, but i want to detect when a session has expired and redirect to the home page.I have searched and found solutions that rely on the web app using authorization. Other solutions have implemented a user control to drop in every page.Obviosly i don't want to manually check for null on every session variable on every event of the web app, so i want the app to do it automatically.