Chacun dans son dossier, comment feriez-vous ?
Jean-Baptiste BRIAUD -- Novlog <[email protected]> Tue, 15 Mar 2011 15:52:09 +0100
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <[email protected]> |
Bonjour, Comment implémenteriez-vous une séparation à l'échelle de la données ? Je m'explique : avec les rôles associé à des login, on peux restreindre un accès aux données. Sauf que cette restriction porte plutôt sur des "pans applicatif", des fonctionnalité. Comment aller jusqu'à la données ? Un exemple : chaque responsable de département ne peut voir que son département. un autre : chaque collaborateur ne peut voir que son dossier. Il faut donc bien qu'un collaborateur avec ses rôles puisse accéder aux dossiers en terme de classe/table. Sauf que pour les dossiers id 12 et 13 seulement. Là où çà deviens amusant, c'est que des personnes peuvent changer de poste et devenir responsable de département. Les restrictions sont donc forcément dynamiques. On peut créer des dossiers et on affecte des utilisateurs ... Pour l'instant, j'imagine pour une table T concernée (T = le dossier par exemple) une table de restriction faisant la jointure entre qui à la droit à quoi : disons une table RT avec 2 colonnes : l'id T et id de l'utilisateur. Ca fait pas mal de table en plus, pas mal de données en plus : imaginons une table à forte volumétrie, ce genre de contrôle va être consommateur en ressource ... Surtout qu'on peux aussi imaginer une gestion plus fine : lecture, modification, ... Est-ce que çà doit finir comme une gestion de permission type file system mais en base ? Ah oui, je précise : c'est tout des tables dans une base de données relationnelle et des classes grâce à OpenJPA. D'autres idées ? Voilà, çà nous sors un peu du risque radioactif au Japon