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