phpDocumentor

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:

  1. 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.
  2. pour les accès Web depuis un navigateur, vérification que le cookie adhoc contient un login/mot de passe valide,
  3. 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
bool

cntrlFor()

test si le contrôle est ou non activé pour une fonctionnalité

public static cntrlFor(string $what) : bool
Parameters
$what : string
Return values
bool

ipInBlackList()

teste si la l'adresse IP dans la liste noire, utilisée pour tile.php

public static ipInBlackList() : bool
Return values
bool

refererInBlackList()

Teste si le referer est dans la liste noire, utilisée pour tile.php

public static refererInBlackList() : bool
Return values
bool

ipInWhiteList()

teste si la l'adresse IP dans la liste blanche

private static ipInWhiteList() : bool
Return values
bool

loginPwdInCookie()

private static loginPwdInCookie() : bool
Return values
bool

loginPwdInTable()

private static loginPwdInTable(string $usrpwd) : bool
Parameters
$usrpwd : string
Return values
bool

        
On this page

Search results