Project

General

Profile

Revision 8089d65a

ID8089d65a1f333bbd70d28ff72c73c408f5fdb804
Parent 3c4e7981
Child 84f34855

Added by Francois POIROTTE over 10 years ago

Personnalisation des managers.

Permet de personnaliser le nom (avec la possibilité d'en définir
plusieurs) des groupes d'utilisateurs privilégiés.

Ce changement évite d'imposer un nom de groupe d'utilisateurs
particulier contenant les administrateurs du parc. Il est en particulier
utile lorsque l'authentification est réalisée via une source externe
indépendante de Vigilo (ex: annuaire LDAP).

Change-Id: I5ec1514a488d946ba53c661e840ff21e23eb63af
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1331
Tested-by: Build system <>
Reviewed-by: Vincent QUEMENER <>

View differences:

deployment/settings.ini.in
72 72
; de l'authentification.
73 73
auth.config = %(here)s/who.ini
74 74

  
75
; Liste des noms des groupes d'utilisateurs privilégiés,
76
; séparés par des virgules.
77
; Par défaut : "managers"
78
admin_groups = managers
79

  
75 80
;
76 81
; 3 - Configuration de l'interface.
77 82
;
development.ini
47 47
app_port.vigirrd = 8084
48 48
app_port.nagios = 80
49 49

  
50
# Délai de rafraîchissement (en secondes)
50
; Délai de rafraîchissement (en secondes)
51 51
refresh_delay = 30
52 52

  
53
; Liste des noms des groupes d'utilisateurs privilégiés,
54
; séparés par des virgules.
55
; Par défaut : "managers"
56
admin_groups = managers
57

  
53 58
full_stack = true
54 59
cache_dir = %(here)s/data
55 60
beaker.session.key = vigigraph
vigigraph/controllers/rpc.py
68 68
    allow_only = All(
69 69
        not_anonymous(msg=l_("You need to be authenticated")),
70 70
        Any(
71
            in_group('managers'),
71
            config.is_manager,
72 72
            has_permission('vigigraph-access',
73 73
                msg=l_("You don't have access to VigiGraph")),
74 74
        ),
......
215 215

  
216 216
        # Les managers ont accès à tout.
217 217
        # Les autres ont un accès restreint.
218
        is_manager = in_group('managers').is_met(request.environ)
219
        if not is_manager:
218
        if not config.is_manager.is_met(request.environ):
220 219
            supitemgroups = [sig[0] for sig in user.supitemgroups() if sig[1]]
221 220
            # pylint: disable-msg=E1103
222 221
            items = items.join(
......
398 397
                        presets=self.presets, graphs=[])
399 398

  
400 399
        # Vérification des permissions de l'utilisateur sur l'hôte.
401
        is_manager = in_group('managers').is_met(request.environ)
402
        if not is_manager:
400
        if not config.is_manager.is_met(request.environ):
403 401
            # Récupération des groupes auxquels l'utilisateur a accès.
404 402
            supitemgroups = [sig[0] for sig in user.supitemgroups() if sig[1]]
405 403

  
......
479 477

  
480 478
        # Les managers ont accès à tout.
481 479
        # Les autres ont un accès restreint.
482
        is_manager = in_group('managers').is_met(request.environ)
483
        if not is_manager:
480
        if not config.is_manager.is_met(request.environ):
484 481
            supitemgroups = [sig[0] for sig in user.supitemgroups() if sig[1]]
485 482
            hosts = hosts.join(
486 483
                    (GroupHierarchy, GroupHierarchy.idchild == \
......
523 520
        # On vérifie si le groupe parent fait partie des
524 521
        # groupes auxquel l'utilisateur a accès, et on
525 522
        # retourne une liste vide dans le cas contraire
526
        is_manager = in_group('managers').is_met(request.environ)
523
        is_manager = config.is_manager.is_met(request.environ)
527 524
        if not is_manager:
528 525
            direct_access = False
529 526
            user = get_current_user()
......
800 797
        # On filtre ces groupes racines afin de ne
801 798
        # retourner que ceux auquels l'utilisateur a accès
802 799
        user = get_current_user()
803
        is_manager = in_group('managers').is_met(request.environ)
804
        if not is_manager:
800
        if not config.is_manager.is_met(request.environ):
805 801
            user_groups = [ug[0] for ug in user.supitemgroups()]
806 802
            root_groups = root_groups.filter(
807 803
                SupItemGroup.idgroup.in_(user_groups))

Also available in: Unified diff