2010-05-24 14 views
1

Je voudrais savoir comment nous pouvons créer différents «rôles d'utilisateurs» pour différents utilisateurs de PHP. exemple:Comment gérer différents rôles avec différents previliges en PHP?

L'administrateur peut créer tous les types d'utilisateurs, ajouter, afficher, manipuler des données, supprimer les gestionnaires, les téléspectateurs et les travailleurs, etc.

Les gestionnaires ne peuvent créer, les travailleurs et les téléspectateurs, peut ajouter et afficher des données, Les utilisateurs ne peuvent pas créer de nouveaux utilisateurs, mais uniquement ajouter des données et afficher des données.

Les visionneuses peuvent uniquement afficher les données qui ont été ajoutées à la base de données par les travailleurs, les gestionnaires et les administrateurs.

Je croyais que son préférable d'utiliser différentes sessions comme:

$_SESSION['admin'] 
$_SESSION['manager'] 
$_SESSION['worker'] 
$_SESSION['viewvers'] 

et pour chaque vérification de la page qui d'entre eux ont un vrai ou oui valeur, mais je veux savoir comment ils le font en temps réel et grand projets??? Est-ce qu'il y a un autre moyen???

Répondre

2

Dépend du grand schéma des choses (en espérant que vous avez compris, mdr). Généralement, les utilisateurs ont un identifiant quant à leur niveau. Comme un champ 'status' ou 'type'.

$ _SESSION [ 'loggedInUser'] [ 'type']

ce type est généralement numérique. 1 peut être des utilisateurs réguliers, 2 peuvent être des modérateurs, 3 administrateurs, etc

Le reste est comment vous gérez dans votre code. Frameworks comme cakephp vous donnera accès à l'utilisateur connecté via leur objet auth, et vous pouvez avoir toutes les données que vous voulez :)

Je sais que c'est très superficiel, mais hélas, la question était aussi bien. Espérons que ça aide :)

0

vous devez remplir comme $_SESSION['Role'] et le remplir lors de la connexion. Puis vérifiez à chaque fois que ce rôle a des privilèges pour faire l'opération.

1

Une façon courante d'implémenter les privilèges d'utilisateur est "les niveaux d'utilisateur" où chaque niveau d'utilisateur est quelque chose qui peut être représenté par un int. Par exemple:

0 = guest, no privileges 
1 = standard user, read-only access 
9 = power user, read/write access 
10 = admin, all access

Tout au long de votre application, vous vérifiez ensuite le niveau d'accès utilisateur et autorisez ou refusez l'accès en conséquence. Cela devient plus compliqué si vous avez des domaines où les privilèges ne sont pas nécessairement hiérarchiques.

Dans cette situation, vous pouvez vérifier votre variable de session (après que l'utilisateur s'est authentifié bien sûr) pour, disons $_SESSION['user_level'];

Questions connexes