Gestion des contrôles d'accès (ACL)
Contexte
Il s'agit du même contexte que dans le TP précédent, cette fois étendu à la gestion des accès.
Le développement à effectuer le sera dans le cadre d'une architecture applicative potentiellement multiple, mais à ce jour indéterminée :
Web/Mobile/Client lourd…
Il s'agit de prévoir une gestion des utilisateurs, qui permettra de contrôler les accès à une application.
Contraintes fonctionnelles
L'application sera dotée de permissions. Une permission permet à un utilisateur ou un groupe d'utilisateur de réaliser une action sur une partie de l'application.
Exemples de permissions :
- Aucune : Aucune permission
- Lire : Accéder en lecture
- Ecrire : Accéder en écriture
- etc…
Une permission peut en inclure d'autres : la permission Ecrire inclut par exemple la permission Lire.
L'application sera composée d'espaces de noms (parties nommées de l'application).
Exemple :
- Accueil
- Gestion des utilisateurs
- Gestion des ACL
Les contrôles d'accès (ACL) attribuent des permissions sur les espaces de noms de l'application pour les groupes d'utilisateurs.
Exemple :
- Le groupe Admin a la permission Ecrire sur la gestion des ACL
- Le groupe User a la permission Lire sur l'Accueil
Contraintes techniques
Le développement sera effectué en java, en respectant les règles de développement de ce langage
- Les classes métier créées seront stockées dans un package net.bo
- Les classes techniques dans net.technics
- Les classes d'affichage de l'application dans net.gui
Les outils utilisés seront :
- Power AMC pour la conception
- Eclipse JUNO comme IDE
Missions
- Réaliser l'étude fonctionnelle (Uses Cases Diagram)
- Concevoir la couche métier (Classes Diagram)
- Implémenter en java les cas d'utilisation pour la couche métier
- faire évoluer l'application Web précédente, en mettant en oeuvre toutes les fonctionnalités