Access
    
            
            in package
            
        
    
    
    
Regroupe la logique du contrôle d'accès
Le contrôle d'accès de base (hors accès aux tuiles) s'effectue selon 3 modes de contrôle distincts:
- pour tous les types d'accès, vérification que l'IP d'appel appartient à une liste blanche prédéfinie, ce mode permet notamment d'autoriser les requêtes provenant du RIE. Il est utilisé pour la plupart des fonctionnalités.
- pour les accès Web depuis un navigateur, vérification que le cookie adhoc contient un login/mot de passe valide,
- pour le service WMS authentification HTTP Basic.
Le cookie adhoc est créé lors du login effectué dans le BO.
Le contrôle de l'accès aux tuiles est différent ; il est par défaut autorisé sauf pour les IP en liste noire et pour les referer en liste noire.
Toute la logique de contrôle d'accès est regroupée dans la classe Access qui:
- exploite le fichier de config
- définit la méthode cntrlFor(what) pour tester si une fonctionnalité est ou non soumise au contrôle
- définit la méthode cntrl() pour réaliser le contrôle
Table of Contents
Constants
- COOKIENAME = 'shomusrpwd'
- nom du cookie utilisé pour stocker le login/mdp dans le navigateur
Methods
- cntrl() : bool
- Effectue le contôle.
- cntrlFor() : bool
- test si le contrôle est ou non activé pour une fonctionnalité
- ipInBlackList() : bool
- teste si la l'adresse IP dans la liste noire, utilisée pour tile.php
- refererInBlackList() : bool
- Teste si le referer est dans la liste noire, utilisée pour tile.php
- test() : void
- ipInWhiteList() : bool
- teste si la l'adresse IP dans la liste blanche
- loginPwdInCookie() : bool
- loginPwdInTable() : bool
Constants
COOKIENAME
nom du cookie utilisé pour stocker le login/mdp dans le navigateur
    public
        mixed
    COOKIENAME
    = 'shomusrpwd'
    
    
    
Methods
cntrl()
Effectue le contôle.
    public
            static        cntrl([string $usrpwd = null ][, bool $nolog = false ]) : bool
    si $usrpwd est défini alors cntrl() teste si le couple est correct s'il n'est pas défini alors teste l'accès par l'adresse IP, l'existence d'un cookie si $nolog est passé à true alors pas de log de l'accès.
Parameters
- $usrpwd : string = null
- $nolog : bool = false
Return values
boolcntrlFor()
test si le contrôle est ou non activé pour une fonctionnalité
    public
            static        cntrlFor(string $what) : bool
    Parameters
- $what : string
Return values
boolipInBlackList()
teste si la l'adresse IP dans la liste noire, utilisée pour tile.php
    public
            static        ipInBlackList() : bool
    Return values
boolrefererInBlackList()
Teste si le referer est dans la liste noire, utilisée pour tile.php
    public
            static        refererInBlackList() : bool
    Return values
booltest()
    public
            static        test() : void
    ipInWhiteList()
teste si la l'adresse IP dans la liste blanche
    private
            static        ipInWhiteList() : bool
    Return values
boolloginPwdInCookie()
    private
            static        loginPwdInCookie() : bool
    Return values
boolloginPwdInTable()
    private
            static        loginPwdInTable(string $usrpwd) : bool
    Parameters
- $usrpwd : string