Project

General

Profile

SessionCookies < 16 » History » Version 7

Simon, 02/15/2012 09:57 PM

1 3 Simon
Les données relatives à l'authentification et aux données utilisateur sont stockés de deux manières selon que nous sommes sur l'interface publique ou sur l'interface d'administration.
2 1 Simon
3
= Interface publique =
4
5
L'interface publique utilise les cookies.
6
7 2 Simon
== Quels sont les cookies disponibles? ==
8 1 Simon
9
 * '''id''' : identifiant de l'utilisateur
10
 * '''whois''' : mot de passe crypté encodé en [http://fr2.php.net/manual/en/function.base64-encode.php base64].
11
 * '''login''' : login de l'utilisateur
12
 * '''workshop''' : groupes auxquels l'utilisateur participe
13
 * '''lifetime''' : date d'expiration des cookies
14 5 Simon
 * '''firstname''' : prénom de l'utilisateur (optionnel - seulement si renseigné)
15 1 Simon
16 2 Simon
17 5 Simon
== Comment utiliser les cookies ? ==
18 1 Simon
19 7 Simon
Ces cookies sont stockés dans le tableau linea21 et sont, par conséquent, accessibles de cette manière :
20 1 Simon
21 7 Simon
22 1 Simon
{{{
23 3 Simon
<?php
24 1 Simon
echo $_COOKIE['linea21']['id'];
25
echo $_COOKIE['linea21']['whois'];
26
echo $_COOKIE['linea21']['login'];
27
echo $_COOKIE['linea21']['workshop'];
28
echo $_COOKIE['linea21']['lifetime'];
29
echo $_COOKIE['linea21']['firstname'];
30 3 Simon
?>
31 1 Simon
}}}
32
33 2 Simon
34
== Quelques méthodes utiles ==
35
36
 * '''updateCookieWorkshop()''' permet de mettre à jour la liste des groupes de travail auxquels participe l'utilisateur authentifié. 
37
 * '''CookieWorkshopid()''' est très utile pour déterminer si l'utilisateur participe ou non aux groupes de travail donné. La méthode prend en paramètre l'ID du groupe de travail concerné. Renvoie ''true'' si l'utilisateur appartient au groupe, sinon ''false''.
38
 * '''DestroyUserCookie()''' détruit l'ensemble des variables du cookie $_COOKIE['linea21']; 
39 1 Simon
40
41 7 Simon
42 1 Simon
= Interface d'administration =
43
44
L'interface d'administration utilise les sessions.
45 3 Simon
46
Les informations utilisateurs stockées sont les suivantes :
47
48 4 Simon
 * '''authenticated''' : Prend la valeur true, indique que l'utilisateur est authentifié
49
 * '''id''' : stocke l'identifiant de l'utilisateur encodé en [http://fr2.php.net/manual/en/function.base64-encode.php base64]
50
 * '''whois''' : stocke le mot de passe crypté encodé en [http://fr2.php.net/manual/en/function.base64-encode.php base64]
51
 * '''login''' : stocke le login de l'utilisateur authentifié
52 1 Simon
 * '''right''' : stocke le tableau de droits sur les différents modules pour l'utilisateur authentifié. Les modules accessibles sont : ''dashboard'', ''workshop'', ''project'', ''publication'', ''news'', ''yellowpages'', ''theme'', ''scale'', ''level'', ''category_user''.
53 3 Simon
54 1 Simon
55 5 Simon
== Comment utiliser les variables de session ? ==
56 1 Simon
57 5 Simon
Les variables de sessions sont accessibles par voie direct mais il est préférable d'utiliser la méthode GetSessionElement() en passant l'élément de session en argument :
58
59 1 Simon
{{{
60
<?php
61 5 Simon
echo $_SESSION['id'];
62
// retournera l'identifiant de l'utilisateur encodé en base64
63
64
GetSessionElement('id');
65
// retournera l'identifiant au format brut
66
67
GetSessionElement('right_news');
68
// retournera les droits d'accès de l'utilisateur sur le module news
69 3 Simon
?>
70 1 Simon
}}}
71 5 Simon
72 7 Simon
== Cookies ==
73 1 Simon
74 6 Simon
Sur l'interface d'administration, 4 cookies sont également utilisés pour améliorer le confort de l'utilisateur : 
75 1 Simon
76 7 Simon
 * '''linea21_lastpage''' : dernière page visitée
77
 * '''linea21_lastactivity''' : date et heure de la dernière activité
78
 * '''linea21_lastcon''' : date et heure de la dernière connexion
79
 * '''linea21_lastuser''' : dernier utilisateur connecté à l'application
80 6 Simon
81 5 Simon
== Quelques méthodes utiles ==
82
83 7 Simon
 * '''hasRight()''' : détermine si un utilisateur a les droits sur le module passé en argument
84
 * '''IsSuperAdmin()''' : retourne ''true'' si l'utilisateur est un administrateur
85 6 Simon
86
= Pour aller plus loin =
87
88
Les méthodes d'authentification ainsi que les méthodes relatives aux sessions et aux cookies se situent dans le fichier [http://dev.linea21.com/trac/browser/linea21/trunk/v1/lib/functions_auth.php functions_auth.php]