Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-10-2008 16:53:56

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

ACL et BDD

Bonjour,

Je viens vers vous pour m'arrêter desuite si je ne vais pas dans la bonne voie...

Je compte gérer pour la première fois des notions de droits avec users et groupes correctement. C'est à dire autrement que quand on débute, avec des mauvaises conditions en dur dans le code :p

Je met en place un intranet qui permet de suivre l'avancée de projets web.

Un truc 'simple': des sociétés, des projets liés à ces sociétés, des éléments (appartenant à une catégorie, ex: 'graphisme', 'montage', etc.) à ajouter aux projets, du versionning pour les éléments, etc.

Des utilisateurs associés à une société, qui pourront en fonction de leurs roles :

- ajouter / supprimer / modifier des sociétés (super admin ça),
- ajouter / supprimer / modifier des catégories d'éléments,
- voir / ajouter / supprimer / modifier des projets,
- voir / ajouter / supprimer / modifier des éléments,
- voir / commenter / ajouter / supprimer / modifier des versions d'éléments.

Voici mon premier jet de MCD : Images schema devzone

Qui me dérange fortement. Je suis conscient qu'il s'agit ici de lacunes de ma part, peut-être aussi un problème d'expérience hein smile

Donc si je n'ai pas rien compris aux ACL, dans mon schema, les resources sont les différentes pages qui seront associées à des controllers, et les privilèges, les actions dans ces controlleurs.

Me trompe-je ?

Après j'ai des questions plus particulières,

1°/ comment feriez-vous pour intégrer une notion de "propriétaire".

Si par exemple je veux autoriser certaines actions uniquement s'il s'agit du propriétaire du projet ou de l'élement.

2°/ pour donner des droits selon les projets ?

Je visualise mal ce à quoi devront ressembler les url en fait :

- mon_intranet/project/add
- mon_intranet/project/project_id/read
- mon_intranet/project/project_id/update
- mon_intranet/project/project_id/delete

Comment faire dans ce cas pour n'avoir qu'un unique controller ?

- mon_intranet/project/element/add
- mon_intranet/project/element/element_id/update
- mon_intranet/project/element/element_id/delete

- mon_intranet/project/element/element_version/read
- mon_intranet/project/element/element_version/add
- mon_intranet/project/element/element_version/update
- mon_intranet/project/element/element_version/delete

- mon_intranet/project/element/element_version/addComment/
- mon_intranet/project/element/element_version/editComment/
- mon_intranet/project/element/element_version/deleteComment/

Même question smile


Tout ça est très brouillon pour moi.

Si certains veulent bien me faire partager leur expérience !

Merci beaucoup.

A+ Benjamin.

Dernière modification par Delprog (05-10-2008 17:05:33)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages