D'expiration de la Session d'Alerte en ASP.NET
J'ai un asp.net site que j'ai besoin d'avoir un popup/couche/alerte se produire lors de la session atteint son délai d'attente (disons 10 minutes). Le menu contextuel vous dire que votre session de compte sera exprire en raison de l'inactivité et d'avoir un bouton pour continuer la séance ou un bouton pour vous déconnecter.
Je voir les différentes façons de le faire en ligne, mais quel est le meilleur/la bonne façon de gérer cela? Dois-je mettre un délai supplémentaire si le popup est ouverte trop longtemps?
OriginalL'auteur cdub | 2012-05-09
Vous devez vous connecter pour publier un commentaire.
Vérifier cet article , il contient tout ce dont vous avez besoin pour votre condition
Alerte de Temps de Session dans ASP.NET
cela fonctionne assez bien, thx
J'ai ajouté
<sessionState mode="StateServer" cookieless="false" timeout="180"></sessionState>
dans mon Web.fichier de configuration. Comment puis-je attribuer levar sessionTimeoutWarnin
?La mise en œuvre de ce type de code côté client est possible d'ouvrir une faille de sécurité de la question ?
mon QSA région nous encourage à nous (équipe de développement) pour éviter d'utiliser du Javascript ou un script côté client pour effectuer des opérations. Nos applications web sont en partie d'une banque de cœur, doit répondre à une forte cycles de test. Ma préoccupation est, par exemple, si un atacker pouvez modifier ou d'injecter du code malveillant dans un script client et d'étendre arbitraire de la session. "<%=" une vulnérabilité potentielle.
OriginalL'auteur Pranay Rana
Cette question a été traitée avant, par exemple
ASP.NET - Javascript délai d'Alerte basé sur sessionState délai d'attente dans le web.config
Cependant, autant que je sache, il n'est pas totalement un moyen fiable pour ce faire, depuis:
OriginalL'auteur StuartLC
Ci-dessous est une partie du code JavaScript avec jQuery pour avertir l'utilisateur sur ASP.NET l'Authentification par Formulaires délai d'attente et de les rediriger vers la page de connexion si le délai est atteint. Il pourrait être amélioré et adapté d'expiration de la session. Il permet également de réinitialiser le délai d'authentification par "ping le serveur lorsque l'utilisateur interagit avec la page en cliquant sur, en tapant ou le redimensionnement.
Noter que ce n'est ajouter de la charge pour le serveur en envoyant une requête ping à chaque clic, les clés de la presse, redimensionner, mais c'est assez minime. Néanmoins, si vous avez beaucoup d'utilisateurs taper loin, vous aurez besoin d'évaluer l'impact. Je ne pouvais pas penser à une autre façon de faire cela parce que le serveur doit être impliqués puisque c'est là où le délai expire.
Également noter que le délai d'attente n'est pas codé en dur dans le JS. C'est le délai d'attente du serveur si vous avez seulement besoin de le maintenir dans un endroit dans le Web.config.
Il suffit de téléphoner au-dessus une fois lors de votre chargement de la page:
Sur le serveur, vous aurez besoin d'une action qui renvoie le reste du temps. Vous pouvez ajouter plus d'informations.
OriginalL'auteur moomoo
Vous aurez à utiliser côté client de la technologie pour ici (javascript). En utilisant, par exemple, vous utilisez javascript timeout installation et ensuite afficher l'avertissement. Si l'utilisateur clique sur ok, vous pouvez avoir besoin de faire quelque chose pour la garder active. Je suggérons à l'aide de jquery.ajax méthode, et en faisant un appel vers le serveur, peut être un mannequin appelez simplement pour garder la session vivant.
OriginalL'auteur Joseph Caruana
Vous pourriez vous jquery et la fonction setinterval pour faire une requête Ajax poste, derrière les coulisses pour actualiser le délai d'attente, si l'utilisation de glissement d'expiration, ou d'obtenir la valeur du temps remaing par l'enregistrement de la session, l'heure de début et la soustraction à partir de la date d'expiration.
OriginalL'auteur Chev
ce que vous pouvez faire est d'utiliser un peu de javascript pour feu le message. Utilisez une minuterie pour le sapin après une certaine période (période prévue pour la session de temps dans votre application - un couple de minutes) Après cette période, de donner un message de confirmation de la boîte à l'utilisateur que la session expire. Si l'utilisateur clique pour garder la session. Faire un mannequin de publication dans la page de sorte que la session n'est pas perdu. Vous pouvez également effectuer un appel en arrière de sorte que l'utilisateur n'a pas fait face à un flash dans la page.
OriginalL'auteur UTHIRASAMY
Je suis allé voir l'article de la post de Pranay Rana, et j'aime l'idée générale, mais le code pourrait utiliser une certaine rationalisation. Voici donc ma version. Pour tablette /mobile questions, voir ci-dessous:
Bien, sur les tablettes ou les mobiles, vous ne pouvez pas compter sur le setTimeout, comme l'exécution de javascript est suspendu lorsque l'appareil est verrouillé ou navigateur inactif. Au lieu de cela, je suis en train de faire un contrôle périodique (dans mon cas, j'ai de l'estime, de toutes les 10s pour être suffisamment):
OriginalL'auteur Damian Vogel