Expiration de la session - nschonni/wet-boew GitHub Wiki
Ce composant aidera les propriétaires d'actifs Web à configurer leurs actifs avec une fonction « Expiration de la session ».
Chef du projet : Roch Lambert (@rlambert27)
Ce sous-projet aidera les propriétaires d'actifs Web à configurer leurs actifs avec une fonction « Expiration de la session ». Celle-ci sera activée en deux circonstances : après une période de temps spécifique ou lors d'inactivité. Par exemple, si l'utilisateur demeure trop longtemps sur la même page, la fonction sera activée. De même, si l’utilisateur demeure inactif, la fonction sera activée. Le fureteur affichera alors une boîte de dialogue proposant deux options à l'utilisateur; s’il souhaite rester connecté il devra sélectionner « OK » et ce, dans un laps de temps précis et s’il souhaite mettre fin à sa session, il n’aura qu’à choisir « Annuler ». Advenant que l'utilisateur tarde trop à faire son choix, ce sera le paramètre de déconnexion qui s’affichera.
- Les délais peuvent être ajuster dans les paramètres
- Conformes à WCAG 2.0 AA
- Approche d'amélioration progressive
- Sur toutes les pages, au besoin.
Le code que vous êtes autorisés à modifier (dans la page) est :
<span class="wet-boew-sessiontimeout" data-wet-boew="{inactivity: 1200000, reactionTime: 30000, sessionalive: 1200000, logouturl: './', refreshCallbackUrl: './'}"></span>
Les paramètres suivants vous permettent de configurer la fonction :
- inactivity : période de temps d'inactivité après laquelle la boîte de dialogue apparaîtra.
- reactionTime : période de temps dont dispose l'utilisateur pour faire un choix lorsque la boîte de dialogue apparaît.
- sessionalive : période de temps durant laquelle la session demeure active avant que la boîte de dialogue n’apparaisse.
- logouturl : adresse URL à laquelle l’utilisateur est acheminé lorsque la session a expiré.
- refreshCallbackUrl : Ceci est l'URL pour effectuer une actualisation ajax, doit retourner true/false.
<span class="wet-boew-sessiontimeout" data-wet-boew="{logouturl: './'}"></span>
NOTE IMPORTANTE : Les paramètres inactivity, reactionTime et sessionAlive sont mis en millisecondes. Le seule paramètre obligatoire est le logouturl. Les paramètres inactivity et sessionalive est fixé à 20 minutes par défaut avec un temps de 30 secondes pour la confirmation du message de dialogue. Le paramètre refreshCallbackUrl ne doit pas être une page contenant la fonction d'expiration de la session de nouveau sinon une boucle sera créé, il devrait être tout simplement une page qui rafraîchit la session.
Voici un outil qui vous aidera a convertir des minutes en millisecondes (anglais seulement) : http://www.calculateme.com/Time/Minutes/ToMilliseconds.htm
NOTE IMPORTANTE : Les paramètres sessionalive et inactivity devrait être égal à votre session sur le serveur web moins le temps de reactionTime. Si vous définissez paramètres sessionalive et inactivity avec le même temps que la session sur le serveur web, sans prendre en considération le temps reactionTime, alors la session sur le serveur sera fini dès que la fenêtre contextuelle apparaît pour prolonger la session.
Le code pour l'expiration de la session se trouve à plusieurs endroits dans le répertoir source de la BOEW :
- js/workers/sessiontimeout.js - contient le code JavaScript pour l'expiration de la session
- js/sass/includes/_sessiontimeout.scss - contient le CSS pour l'expiration de la session
- js/sass/includes/_sessiontimeout-ie7.scss - contient le CSS spécifique à IE7 pour l'expiration de la session
- js/sass/includes/_sessiontimeout-ie8.scss - contient le CSS spécifique à IE8 pour l'expiration de la session
- js/images/sessiontimeout/ - contient les images pour l'expiration de la session
- Fournir un délai très court peut provoquer des problèmes avec certains groupes de personnes handicapées
- Ne fonctionne pas si JavaScript est désactivé