Re: Chacun dans son dossier, comment feriez-vous ?
Laurent Forêt <[email protected]> Wed, 16 Mar 2011 10:09:19 +0100
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <[email protected]> |
2011/3/16 Jean-Baptiste BRIAUD -- Novlog <[email protected]> > > On 15 mars 2011, at 16:05, Laurent Forêt wrote: > > > Je trouve comme les logs que la gestion des droits est un super Use case > pour de l'AOP inteception à chaque usage d'un document. De plus mes droits > je les stockerai dans une seule table (idUser/idRole , iddoc, ReadWrite) pas > de jointure. > > > > my half a cent. > > > > Laurent > > > > Sauf qu'avec l'AOP, la filtrage se produit en mémoire, donc trop tard. > Non pas forcément, tu interceptes ou tu veux et tu appelles ce que tu veux. Pourquoi pas une jointure au contraire ? Je ne perçois pas le coté négatif > de la jointure ? > La base est spécialisée pour cela et devrait justement être meilleure, non > ? > Oui mais il faut y accéder à ta base et ca ca coute L'idée en effet est de stocker les droits en base et grâce à la jointure > d'effectuer le filtrage des données interdites. > Il est vrai que ta gestion de droits est plus compliqué que celle que j'ai dèjà eu l'occasion de mettre en place. Mais, le fait de casser les jointures permet de gérer plus facilement en cache l'ensemble de tes droits. Car dans 99% des cas il est moins coûteux d'itérer en mémoire que de faire une IO vers la base. > > Sinon, étant donné que plusieurs table peuvent nécessiter une gestion fine > des droits "à la ligne", j'envisage de faire autant de table de droit que > que table à gérer de cette manière. > Ca partitionne aussi un peu les données de gestion des droits "autour" des > données gérées. > > Oui mais dans ce cas ta gestion des droits est fortement couplée à ton domaine métier . alors qu'une règle simple un object id un id user un droit tu peux l'appliquer à tout ce que tu veux. Le problème que j'y vois en ma solution c'est qu'on n'a pas d'hiérarchie. My quarter of a cent (c'est la déflation) Laurent.