Bonjour,
Voici mon problème :
Le fichier "header.php" qui suit permet de me connecter :
Ce qui amène bien sûr au fichier "scripts/log" qui passe par phpCAS pour me connecter au système de connexion de mon école. Lorsque j'appuie sur le "se connecter" du header de mes pages html, j'arrive bien sur le site d'authentification cascad.ensta.fr. Lorsque je me connecte avec mes identifiants, ej suis redirigé vers cette page : "http://localhost/scripts/log.php?ticket=ST-39432-wvRHkFVHAdJI2Z7471Xi-cascad"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <header> <?php if (isset($_SESSION['conn']) && true === $_SESSION['conn']) { echo 'Bonjour ' . $_SESSION['prenom'] . ' ' . $_SESSION['conn']; echo 'Votre solde est '. $_SESSION['solde'] . ' '; echo '<form id="déconnexion" method="post" action="scripts/logout.php">'; echo ' <input type="submit" value="Deconnexion"'; echo '</form>'; } else { //Le champ caché permet de se rappeler de la page sur laquelle on était. echo '<form id="connexion" method="post" action="scripts/log.php">'; echo ' <input type="hidden" name="current_page" value="'.$_SERVER['PHP_SELF'].'"/>'; echo ' <input type="submit" value="Se connecter"/>'; echo '</form>'; } ?> </header>
La page est vide. La console m'indique que plusieurs requêtes GET ont été effectuées avec un message d'erreur 500 (je vous joins les captures d'écran)
Dans ce fichier, vous remarquerez que je fait appel à une base de données mais de toute façon le problème est plus tôt. en effet, à coup de "commenter/décommenter", je vois que le problème apparaît à cette ligne : "phpCAS::forceAuthentication();". Et en regardant les exemples sur Internet, je en vois pas comment on peut s'en passer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <?php session_start() ?> <?php require_once '../CAS-1.3.3/CAS.php'; ?> <?php include("../get_fel_database.php"); ?> <?php $_SESSION['conn'] = false; //Utilisation de la librairie phpCAS pour se connecter sur cascad.ensta.fr phpCAS::client(CAS_VERSION_2_0, "cascad.ensta.fr", 443, ''); phpCAS::setNoCasServerValidation(); phpCAS::forceAuthentication(); $id = phpCAS::getUser(); //Récupération des informations sur l'utilisateur et enregistrement de celle-ci //dans les variables de session. $all_users_data = $data_base->query("SELECT * FROM users_list WHERE login='$id'"); while($user_data = $all_users_data->fetch()) { $_SESSION['nom'] = $user_data["nom"]; $_SESSION['prenom'] = $user_data["prenom"]; $_SESSION['promotion'] = $user_data["promotion"]; $_SESSION['tel'] = $user_data["tel_portable"]; $_SESSION['solde'] = $user_data["solde"]; $_SESSION['is_administrator'] = $user_data["is_administrator"]; $_SESSION['conn'] = true; //variable qui indique si l'utilisateur s'est connecté } if($_SESSION['conn']) { //l'utilisateur est bien logué on peut le ramener à l'accueil if (isset($_POST['current_page'])) { echo '<!doctype html> <html> <head></head><body>blabla</body> </html>'; //header('Location: ../index.php'); //header('Location: ..' . $_POST['current_page']); } else { header('Location: ../index.php'); } } else { //mauvaise connexion : Try again !! header('Location: ../log.html'); } ?>
Ma configuration :
LinuxMint 17.3
PHP 5.5.9
CAS 1.3.3
Pour Apache (je travaille en localhost), je ne sais pas : "apache2 --version" dans le terminal me renvoie une erreur
Merci à vous
Partager