Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2007, 13h21   #1
Membre actif
 
Inscription : avril 2007
Messages : 286
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2007
Messages : 286
Points : 192
Points : 192
Par défaut [Sécurité] Gestion des fonctionnalités autorisées aux utilisateurs

Bonjour,

je conçois actuellement une application en local (qui ne nécessite donc pas trop de sécurité )comportant une quinzaine de fonctionnalités. Or, chaque utilisateur peut avoir acces à 1, 2, 3 ou plus fonctionnalités ( ces droits sont geres dans ma base de données.).
Ma question est donc : comment faire au niveau du code pour que les fonctionnalités apparaissent ou pas selon les droits?
C'est un peu le meme principe que sur dvp : par exemple le tableau de bord n'apparait pas si l'on est pas connecté.

Dans un autre projet, j'avais fait des profils Admin, user et invite et dans ma page je faisais un
Code :
1
2
3
4
 
switch droits
case : admin 
afficher menu_admin ; //...etc
Mais la je ne sais pas trop comment faire puisqu'il n'y a pas de profils.

Est-ce que ce serait une bonne solution que de verifier avant chaque affichage de fonctionnalité
Code :
1
2
3
 
if ($_session['droitsfonctionnalite']==true)
afficherfonctionnalite();
?

Pour explication : Dans ma base il ya une table etre_authorise associant une fonctionnalite et un utilisateur ainsi que true (authorisé) ou false.

Comme vous le voyez je suis un peu perdue...
Excusez moi si je me suis mal expliquée et n'hésitez pas à me demander.
Merci de votre aide.
__________________
" Pourquoi y a-t'il quelque chose plutôt que rien? " Leibniz
fayred est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 20h57   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Ben ta solution me parait convenir. Puisqu'en effet, tes fonctions ne gèrent pas les droits directement. Tu dois donc toi meme définir une couche d'accès à ces fonctions directement dans ton code à l'aide des variables session par exemple.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 21h41   #3
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bonjour,

Pour ma part , j'ai créé une application avec plusieurs niveaux d'administration.
A chaque utilisateur est attribué un niveau 0,1,2,3,4
qui est enregistré avec son profil dans un champ user_level que je récupère dans la session.

Puis dans le code je vais écrire :
Code :
1
2
3
4
 
if($_SESSION['user_level'] > 2){
// le code ou la fonction pour les admins niveau 3 et 4 
}
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 22h24   #4
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
La solution qui offre le plus de possibilité est d'utiliser les flags binaire.

Avantages :

Ne stocker qu'une seule donnée dans la BDD/SESSION.
Facilité d'ajout/suppression/vérification de droit. (Opérations binaires)
Toute les combinaisons possible

Inconvénients :

Limité à 32 bit (généralement)
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h54.


 
 
 
 
Partenaires

Hébergement Web