Gestion des droits sur IHM demo ############################### Cette documentation décrit la gestion des droits sur IHM-demo. -------------------------------------------------------------- La gestion des droits (authorisations et habilitations) sur IHM demo (et VITAM en génénral) se fait grâce à shiro. Gestion des autorisations ************************* Les utilisateurs sont définis dans le fichier `shiro.ini` sous la forme d'un login suivi du mot de passé encodé avec l'algorithme md5. Gestion des permissions *********************** Sur chaque endpoint (couple URI / verbe HTTP), qui correpond à une méthode Java, on définit une permission grâce à l'annotation `RequiresPermissions`. Par convention, la permission est nommée en fonction de l'URI est du verbe HTTP correspondant. Par exemple, la permission définissant la lecture sur l'URL `/logbook` est : `logbook:read`. Si une l'URL possède une sous collection, par exemple `/logbook/operations`, alors le nom de la permission pour lire les informations est : `logbook:operation:read`. La correspondance entre les verbes HTTP et les permissions est la suivante : - GET : read - POST : update - PUT : create - DELETE : delete Par contre, dans le cas ou on utilise un POST pour de la lecture (cas typique du DSL), on nommera quand même la permission avec `read`. Au niveau du fichier shiro.ini, dans la section `roles`, on définit trois rôles (admin, user et guest), auxquels on associe les différentes permissions définies précédemment. Enfin, dans la section `users`, on associe le rôle à un utilisateur.