5.8. Gestion des droits sur IHM demo

5.8.1. 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.

5.8.1.1. 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.

5.8.1.2. 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.