JeuWeb - Crée ton jeu par navigateur
Vos systèmes de permissions - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Vos systèmes de permissions (/showthread.php?tid=2856)



Vos systèmes de permissions - Sephi-Chan - 08-08-2008

Salut à tous,

Depuis quelque temps, je me pose pas mal de questions sur la façon de gérer les utilisateurs et plus particulièrement leurs permissions.

Voilà pourquoi j'aimerai faire un petit sujet de synthèse qui parlerait de la façon dont chacun gère ça.
  • Avez-vous simplement un marqueur qui vaut 100 si l'utilisateur est administrateur, 90 s'il est modérateur, 10 s'il est membre, 0 s'il est banni, etc.
  • Ou bien avez-vous un octet dans lequel chaque bit représente une autorisation.
  • Ou bien avez-vous plutôt une table avec une gestion fine des droits, selon des groupes, etc.
  • Autre…


Sephi-Chan


RE: Vos systèmes de permissions - Kassak - 08-08-2008

Pour ma part, j'ai une table gestion_droit, ou je rentre toutes les personnes ayant des droits ( Admin, modérateur et juges ), donc toutes les autres ne sont que des joueurs n'ayant aucun droit.

Chaque niveau de droit donne accès à différente chose :

-Admin, niveau 1, accès total.
-Modo, niveau 2, peut bannir du minichat
-Juges, niveau 3, peuvent mettre en prison/bannir un joueur

etc...


Simple et efficace, toutes les actions possibles se font via un panneau administrateur, toutes les personnes ayant des droits y ont accès, mais ne peuvent voir que ce qui leur correspond.


RE: Vos systèmes de permissions - keke - 08-08-2008

De mon côté je travail en module. Il s'agit d'un regroupement fonctionnel qui peut contenir une ou plusieurs tables, un ou plusieurs fichiers ...

J'ai un module pour les bannis (temporairement ou définitivement) contenant les IP utilisés par cet utilisateur, multicompte, durée du ban ...

J'ai un octet qui définit le droit de l'utilisateur
Utilisateur/ Administrateur

J'ai un module pour les privilèges administrateurs.

Un exemple :
3 privilèges admin :
- Téléporter son corps à la ville la plus proche
- Téléporter son corps n'importe où sur la carte
- Téléporter n'importe qui, n'importe où

L'octet Administrateur affiche un menu qui ramène sur le privilège admin (- Téléporter n'importe qui, n'importe où)

On pourra donner à un joueur lembda n'importe lequel de ces privilèges et tous les joueurs privilégiés n'auront pas les même privilège.

kéké


RE: Vos systèmes de permissions - Zeraw08 - 08-08-2008

Salut.
Personnellement, j'utilise un système d'octet où chaque bit représente un droit :
0x01 : Jouer
0x02 : Ecrire
0x04 : Modifier
0x08 : Administrer
etc.

Chaque joueur peut cumuler n'importe lesquels de ces droits. Ce modèle a l'avantage d'être très flexible car il se base sur l'utilisateur et non sur les groupes.
J'ai aussi une table séparée pour les bans d'IP qui fonctionne selon le même principe que celui de keke.