Projet

Général

Profil

Actions

Bug #10299

fermé

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

Ajouté par David Lesimple il y a environ 6 ans. Mis à jour il y a presque 6 ans.

Statut:
Closed
Priorité:
Urgent
Assigné à:
Catégorie:
Administration
Début:
03/12/2018
Echéance:
% réalisé:

100%

Temps estimé:
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.


Demandes liées 1 (0 ouverte1 fermée)

Lié à GED - Bug #10343: GED-Problème de droits-Administrateur et ManagerClosedDavid Lesimple20/12/2018

Actions

Mis à jour par David Lesimple il y a environ 6 ans

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.

Mis à jour par David Lesimple il y a environ 6 ans

  • Statut changé de New à Qualified
  • Assigné à mis à 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.

Mis à jour par David Lesimple il y a environ 6 ans

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

Mis à jour par David Lesimple il y a environ 6 ans

  • Lié à Bug #10343: GED-Problème de droits-Administrateur et Manager ajouté

Mis à jour par David Lesimple il y a environ 6 ans

  • Priorité changé de High à 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.

Mis à jour par Nicolas Eysseric il y a presque 6 ans

  • Statut changé de Qualified à In progress...
  • Assigné à changé de Yohann Chastagnier à Nicolas Eysseric

Mis à jour par Nicolas Eysseric il y a presque 6 ans

  • Statut changé de In progress... à Resolved
  • Version cible mis à Version 6.1
  • % réalisé changé de 0 à 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';

Mis à jour par Yohann Chastagnier il y a presque 6 ans

  • Statut changé de Resolved à Closed

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

Actions

Formats disponibles : Atom PDF