Redirection vers la page de login après l'expiration de la session
J'ai trouvé certaines des questions similaires, mais aucun ne m'a donné ce que j'en ai vraiment besoin.
Voici la chose, j'ai ajouté à mon web.config
de gérer l'expiration de la session:
<sessionState mode="InProc" timeout="1" />
Après 1 minute, le Session_End
cas de Global.asax
est soulevée:
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Response.Redirect("Login.aspx")
End Sub
Cela ne fonctionne pas, parce que:
Response is not available in this context.
(En passant, cette question obtenu un anwswer dire que c'est ok et il a obtenu upvotes).
Je ne veux rien de compliqué. Je veux juste un moyen simple de rediriger l'utilisateur vers la page de connexion de session, lorsque le temps expire. C'est tout.
Merci.
Essayez HttpContext.Actuel.Réponse.Redirect("Login.aspx")
Si vous avez la connexion correctement enregistrés l'utilisateur doit être redirigé vers la de login avec n'importe quel poste. En tant qu'utilisateur, je ne veux pas perdre la page que je suis sur parce que la session a expiré.
Qui ne fonctionne pas trop @Tim. Merci quand même.
qu'entendez-vous par "correctement enregistré" login?
Je ne me souviens pas de toutes les étapes, mais pour que mon application fonctionne de cette façon que je le chargement de données et de mon de mon login souvent expire. Si il m'a envoyé vers une autre page et je ne pouvais pas voir si mon chargement fini, je ne voudrais pas que. Dans ASP.NET vous marquez comme la page de connexion et ne me souviens pas si j'ai eu aussi le marquer dans IIS. Je me souviens que j'avais pour marquer le Défaut de page dans les deux ASP.NET projet et IIS.
Si vous avez la connexion correctement enregistrés l'utilisateur doit être redirigé vers la de login avec n'importe quel poste. En tant qu'utilisateur, je ne veux pas perdre la page que je suis sur parce que la session a expiré.
Qui ne fonctionne pas trop @Tim. Merci quand même.
qu'entendez-vous par "correctement enregistré" login?
Je ne me souviens pas de toutes les étapes, mais pour que mon application fonctionne de cette façon que je le chargement de données et de mon de mon login souvent expire. Si il m'a envoyé vers une autre page et je ne pouvais pas voir si mon chargement fini, je ne voudrais pas que. Dans ASP.NET vous marquez comme la page de connexion et ne me souviens pas si j'ai eu aussi le marquer dans IIS. Je me souviens que j'avais pour marquer le Défaut de page dans les deux ASP.NET projet et IIS.
OriginalL'auteur gabsferreira | 2012-09-19
Vous devez vous connecter pour publier un commentaire.
Session_End est un côté serveur événement, en ce sens qu'elle est déclenchée sur le serveur web et n'a rien à voir avec une demande par le client. C'est pourquoi la Demande n'est pas disponible.
Vous avez deux choix à ce sujet:
Sur chaque demande du client, de vérifier si une variable de Session est définie. Si elle n'est pas, cela signifie que la Session précédente a expiré et que la nouvelle Session doit être rempli. (Je suppose que c'est pourquoi vous voulez vérifier l'expiration de la Session)
Ont un appel javascript sur le client que périodiquement remonte au serveur pour vérifier si la Session est toujours valide. Si la Session a expiré, vous pouvez avertir l'utilisateur que sa Session est sur le point d'expirer.
HTH
Il ne sera pas renouveler de la session, il va créer un nouveau. Donc, si votre session précédente, avait un drapeau, la session nouvellement créée n'aura pas le drapeau.
Non, s'il vous plaît exécuter votre code et de voir.
OriginalL'auteur Shai Cohen
Description
Vous pouvez utiliser le
Page_Init
événement dans leglobal.asax
Échantillon
Plus D'Informations
Oui, mais à la demande suivante, la méthode appelée. Le problème est que le serveur sait que la session a expiré, mais en HTTP (qui n'est pas de connexion permanente) vous ne pouvez pas faire quelque chose avec le client. Vous ne pouvez faire quelque chose si l'utilisateur fait une requête.
Si vous le souhaitez, vous pouvez garder la session en vie si vous faites une demande du client vers le serveur à l'aide de javascript, toutes les x secondes.
OriginalL'auteur dknaack
Vérifier la date de péremption des séances sur chaque Page_Init événement. Si il y a trop de pages pour faire cette vérification, c'est ce que je fais d'habitude:
Bonne chance.
OriginalL'auteur Hanlet Escaño
OriginalL'auteur Jowen