On suppose qu'un répertoire tpdsi a été créé à la racine du site web.
Décompresser l'archive loginAcces.zip dans le répertoire tp3
Si le serveur web est lancé sur la machine locale, on doit pouvoir tester l'accès contrôlé à cette page d'exemple qui affiche un formulaire d'identification.
Essayer le couple (ZZZ,ZZZ) comme login et mot de passe (invalides). Un message "Login ZZZ inconnu" s'affiche.
Essayer le couple (AAA, AAA) . La page s'affiche! (Le login saisi a été mémorisé dans la variable de session $_SESSION['userId'] .)
Cliquer sur le lien "Se déconnecter". La session est alors détruite et le formulaire d'identification s'affiche à nouveau.
Il suffit de rajouter 2 lignes dans chaque fichier dont on veut controler l'accès. Ainsi pour editTicket.php :
En tout début de fichier, insérer :
<?php session_start(); ?>
A l'endroit où l'on désire voir s'afficher le formulaire d'identification (à l'intérieur de la balise <body>), insérer :
<?php include 'login/loginAccess.inc.php'; ?>
Il est possible à l'utilisateur de se déconnecter.
Juste avant </body>, insérer le code HTML suivant :
<a href="?logout=1">Se déconnecter</a>
Le login de l'utilisateur qui a créé un ticket a été rangé dans la variable de session $_SESSION['userId']. On peut donc passer cette information à la fonction saveTicket() dans editTicketAction.php :
$login = $_SESSION['userId'];
saveTicket($application, $login, $priority, $type, $todayDate,
$oneLiner, $contents, $attachmentName);
Attention, il ne faut pas oublier d'appeler session_start(), sinon la session est inaccessible!
En tout début de fichier, insérer :
<?php session_start(); ?>
Il faut interdire aux utilisateurs non identifiés l'accès direct au script editTicketAction.php et les rediriger vers le formulaire de saisie (ou la page d'accueil du site).
En tout début de fichier, insérer :
<?php
session_start();
if ( !isset($_SESSION['userId']) ) {
header('Location: editTicket.php');
exit();
}
?>
Tester en créant ce ticket de priorité urgente et vérifier le fichier tickets.csv résultant.