SAND-framework/data/docs/00.f. Comment fonctionnent les objets de sessions.md
Emmanuel ROY 73a505ce7b update :
- documentation markdown du framework
2021-07-12 15:35:54 +02:00

2 KiB

Comment fonctionnent les objets de sessions

le dossier application/objets contient les classes qui sont utilisés par les sessions, vous trouverez dans ce dossier les classes suivantes:

  • Session.php qui contient les méthodes permettant de créer les sessions, dans une application moderne il est courant de définir des droits sur les pages par un système d'authentification, ici SAND ne déroge pas à la règle et dans les fichiers .model possèdent une variable authentification qui peut prendre les valeurs yes ou no, ainsi le framework appelera automatiquement la méthode createAndTestSession() dans les controlleurs, si cette variable est défini à no, alors seule la méthode sessionStart() sera appelée, ceci afin que les alertes et l'historique puissent fonctionner. Malheureusement les conduits et les traitements ne disposent pas d'un tel garde d'authentification, mais vous comprendrez qu'il est simple d'ajouter cette méthode au début d'un code de traitement ou de conduit.

  • Alert.php contient quelques méthodes simples qui utilise la variable $_SESSION, elle est vidée a chaque génération de page sauf dans le cas des traitements, ainsi automatiquement une alerte peut être définie à afficher sur la page de redirection

  • History.php permet d'obtenir à tout moment la page précédente de l'application, ainsi il est plus simple de rediriger les pages de traitement vers la page qui demande le traitement. Souvent dans les applications modernes vous avez un traitement qui doit être effectué depuis plusieurs pages cela permet de connaitre celle dont on provient sans passer par la variable serveur $_SERVER["HTTP_REFERER"] qui n'est pas toujours accessible.

  • XssToken.php permet de définir un token dans la variable $_SESSION afin de protéger les formulaires de l'application contre la faille XSS.

Néanmoins il est possible que ce dossier contienne d'autres classes qui peuvent être utile, à vous de le fournir suivant les demandes de votre application.