Wolę nie sprawdzać zmienną sesji w kodzie zamiast korzystać z FormAuthentication. Mają wbudowaną funkcjonalność do przekierowania do danej strony LoginPage podanej w web.config.
Jeśli jednak chcesz jawnie sprawdzić sesję, możesz sprawdzić wartość NULL dla dowolnej zmiennej utworzonej w sesji wcześniej, jak odpowiedział Pranay.
Można utworzyć stronę Login.aspx i napisać tam wiadomość, gdy sesja wygasa FormAuthentication automatycznie przekierowywać do loginUrl podane w sekcji FormAuthentication
<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" timeout="30">
</forms>
</authentication>
Chodzi o to, że nie można dać na stronę logowania i oddzielna SessionExpire, więc musisz pokazać/ukryć część sekcji Login.aspx, aby działać w obie strony.
Jest też inny sposób przekierować do sessionexpire stronę po limitu czasu bez zmiany formauthentication-> loginurl, patrz poniższy link poniżej: http://www.schnieds.com/2009/07/aspnet-session-expiration-redirect.html
Zamieść swój kod. Jak sprawdzasz wygaśnięcie sesji? – Oded
Udostępnij również swoją konfigurację internetową. – Deepesh
Dwie różne rzeczy: sesje nie wpływają bezpośrednio na stan uwierzytelnienia. Jeśli używasz FormsAuth, oznacza to twój stan zgłoszenia. Jeśli więc chcesz podać ważność biletu w stanie sesji (co jest złym pomysłem, BTW), musisz to zrobić ręcznie. – HackedByChinese