SessionCookies < 16 » History » Version 5
Simon, 02/15/2012 07:33 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 | Ces cookies sont stockés dans le tableau linea21 et sont, par conséquent accessibles de cette manière : |
19 | |||
20 | |||
21 | {{{ |
||
22 | 3 | Simon | <?php |
23 | 1 | Simon | echo $_COOKIE['linea21']['id']; |
24 | echo $_COOKIE['linea21']['whois']; |
||
25 | echo $_COOKIE['linea21']['login']; |
||
26 | echo $_COOKIE['linea21']['workshop']; |
||
27 | echo $_COOKIE['linea21']['lifetime']; |
||
28 | echo $_COOKIE['linea21']['firstname']; |
||
29 | 3 | Simon | ?> |
30 | 1 | Simon | }}} |
31 | |||
32 | 2 | Simon | |
33 | == Quelques méthodes utiles == |
||
34 | |||
35 | * '''updateCookieWorkshop()''' permet de mettre à jour la liste des groupes de travail auxquels participe l'utilisateur authentifié. |
||
36 | * '''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''. |
||
37 | * '''DestroyUserCookie()''' détruit l'ensemble des variables du cookie $_COOKIE['linea21']; |
||
38 | 1 | Simon | |
39 | |||
40 | = Interface d'administration = |
||
41 | |||
42 | L'interface d'administration utilise les sessions. |
||
43 | 3 | Simon | |
44 | Les informations utilisateurs stockées sont les suivantes : |
||
45 | |||
46 | 4 | Simon | * '''authenticated''' : Prend la valeur true, indique que l'utilisateur est authentifié |
47 | * '''id''' : stocke l'identifiant de l'utilisateur encodé en [http://fr2.php.net/manual/en/function.base64-encode.php base64] |
||
48 | * '''whois''' : stocke le mot de passe crypté encodé en [http://fr2.php.net/manual/en/function.base64-encode.php base64] |
||
49 | * '''login''' : stocke le login de l'utilisateur authentifié |
||
50 | 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''. |
51 | 3 | Simon | |
52 | 1 | Simon | |
53 | 5 | Simon | == Comment utiliser les variables de session ? == |
54 | 1 | Simon | |
55 | 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 : |
56 | |||
57 | 1 | Simon | {{{ |
58 | <?php |
||
59 | 5 | Simon | echo $_SESSION['id']; |
60 | // retournera l'identifiant de l'utilisateur encodé en base64 |
||
61 | |||
62 | GetSessionElement('id'); |
||
63 | // retournera l'identifiant au format brut |
||
64 | |||
65 | GetSessionElement('right_news'); |
||
66 | // retournera les droits d'accès de l'utilisateur sur le module news |
||
67 | 3 | Simon | ?> |
68 | }}} |
||
69 | 5 | Simon | |
70 | == Quelques méthodes utiles == |
||
71 | |||
72 | * hasRight() : détermine si un utilisateur a les droits sur le module passé en argument |
||
73 | * IsSuperAdmin() : retourne ''true'' si l'utilisateur est un administrateur |