-
Notifications
You must be signed in to change notification settings - Fork 1
/
authCas.inc.php
63 lines (53 loc) · 1.71 KB
/
authCas.inc.php
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
require_once "class/etudiant.class.php";
require_once "class/enseignant.class.php";
require_once "class/administrateur.class.php";
require_once "CAS-1.3.4/CAS.php";
require_once "config.php";
/* TO-DO :
* - Crée une gateway pour que les enseignant et les etudiants puissent ce log depuis le formulaure de l'application.
*/
// Enable debugging
phpCAS::setDebug();
// Initialize phpCAS
phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context, false);
// no SSL validation for the CAS server
phpCAS::setNoCasServerValidation();
// force CAS authentication
if(phpCAS::forceAuthentication()) {
/* Si l'utilsiateur a 3 chiffre dans sont login, c'est un étudiant, sinon c'est un enseignant.
* Si c'est un ensignant on vérifi qu'il soit pas un administrateur.
*/
if(preg_match ( "/^[-a-z]{5}[0-9]{3}$/" , phpCAS::getUser() ) && phpCAS::getUser() != "gando002" && phpCAS::getUser() != "laudy001"){
if( ($etudiant = Etudiant::createFromLogin(phpCAS::getUser())) != null){
//$etudiant->saveIntoSession();
}else {
try{
Etudiant::inscription(phpCAS::getUser());
$etudiant = Etudiant::createFromLogin(phpCAS::getUser());
//$etudiant->saveIntoSession();
}
catch(Exception $e){
echo $e->getMessage();
}
}
}
else if( ($admin = Administrateur::createFromLogin(phpCAS::getUser())) != null){
//$admin->saveIntoSession();
}
else {
if (($enseignant = Enseignant::createFromLogin(phpCAS::getUser())) != null){
//$enseignant->saveIntoSession();
}
else{
try{
Enseignant::inscription(phpCAS::getUser());
$enseignant = Enseignant::createFromLogin(phpCAS::getUser());
//$enseignant->saveIntoSession();
}
catch(Exception $e){
echo $e->getMessage();
}
}
}
}