Project

General

Profile

Actions

Bug #10299

closed

Manager d'espace mais n'apparait pas dans l'onglet "Administrateurs d'espace"

Added by David Lesimple almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Urgent
Category:
Administration
Start date:
12/03/2018
Due date:
% Done:

100%

Estimated time:
Navigateur:
Firefox
Votre version de Silverpeas:
5.15.8
Système d'exploitation:
Linux
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

- Dans un cas, l'espace est bien gérable par l'utilisateur
- Si l'on se rend sur cette espace, l'utilisateur n’apparaît pas dans la liste des Administrateurs d'espace (ni dans aucun des groupes).

Il y a incohérence entre cette liste et le fait de déterminer si l'utilisateur peut gérer l'espace.


Related issues

Related to GED - Bug #10343: GED-Problème de droits-Administrateur et ManagerClosedDavid Lesimple12/20/2018

Actions
Actions #2

Updated by David Lesimple almost 3 years ago

A noter que si on assigne à un nouvel utilisateur les mêmes droits que l'utilisateur concerné par le problème, on rencontre les mêmes symptômes pour le nouvel utilisateur.

Actions #3

Updated by David Lesimple almost 3 years ago

  • Status changed from New to Qualified
  • Assignee set to Yohann Chastagnier

Il est finalement aisé de reproduire le problème :

- créer un utilisateur
- créer un espace A et un sous-espace A1
- mettre l'utilisateur administrateur de l'espace A.
par héritage il se retrouve administrateur du sous-espace A1, il est visible dans l'onglet "administreur d'espace" du sous-espace A1
- Enlever ensuite l'utilisateur de l'onglet "administreur d'espace" de l'espace A

--> Résultat: l'utilisateur reste administrateur de l'espace A1, même si visuellement il n'apparait plus dans l'onglet "administreur d'espace"

il y a donc incohérence, il ne devrait plus rester administrateur de ce sous-espace.

Actions #4

Updated by David Lesimple almost 3 years ago

1/ Le user 16428 est manager de l'espace A (id=29098), le sous-espace A1 ayant comme id 29099 :
la requete SQL

select * from st_spaceuserrole  where spaceid=29098 or spaceid=29099;
retourne :
104242;29098;"Manager d'espace";"Manager";"";0
104243;29099;"";"Manager";"";1

select * from st_spaceuserrole_user_rel  where userid  = 16428
retourne :
spaceuserroleid;userid

104242;16428
104243;16428

2/ J'enlève le user 16428 du role admin de l'espace A

Actions #5

Updated by David Lesimple almost 3 years ago

  • Related to Bug #10343: GED-Problème de droits-Administrateur et Manager added
Actions #6

Updated by David Lesimple almost 3 years ago

  • Priority changed from High to Urgent

Pose des problèmes non négligeables de confidentialité car un utilisateur précédemment admin de l'espace continue à avoir ce droit alors que visuellement on le lui a enlevé depuis la console d'administration.

Actions #7

Updated by Nicolas Eysseric almost 3 years ago

  • Status changed from Qualified to In progress...
  • Assignee changed from Yohann Chastagnier to Nicolas Eysseric
Actions #8

Updated by Nicolas Eysseric almost 3 years ago

  • Status changed from In progress... to Resolved
  • Target version set to Version 6.1
  • % Done changed from 0 to 100

Lors de la création d'un rôle d'administrateur d'espace, il était propagé à tort.
En effet, le rôle administrateurs d'espace s'applique forcément sur l'espace et tous ces sous espaces (différent des autres rôles).

Traité par PR : https://github.com/Silverpeas/Silverpeas-Core/pull/952

Voici quelques requêtes pour voir l'état de la base sur ce problème :

-- liste des espaces et utilisateurs concernés
select r.spaceid, u.userid
from st_spaceuserrole r, st_spaceuserrole_user_rel u
where r.isinherited = 1 and r.rolename = 'Manager'
  and r.id = u.spaceuserroleid
order by u.userId;

-- liste des espaces et groupes concernés 
select r.spaceid, g.groupid
from st_spaceuserrole r, st_spaceuserrole_group_rel g
where r.isinherited = 1 and r.rolename = 'Manager'
      and r.id = g.spaceuserroleid
order by g.groupid;

Requêtes à passer pour corriger les données :

delete from st_spaceuserrole_user_rel
where spaceuserroleid in (select id from st_spaceuserrole where isinherited = 1 and rolename = 'Manager');

delete from st_spaceuserrole_group_rel
where spaceuserroleid in (select id from st_spaceuserrole where isinherited = 1 and rolename = 'Manager');

delete from st_spaceuserrole where isinherited = 1 and rolename = 'Manager';

Actions #9

Updated by Yohann Chastagnier almost 3 years ago

  • Status changed from Resolved to Closed

Validé et intégré en 5.15.x, 6.0.x et 6.x

Actions

Also available in: Atom PDF