Commit 08438185 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Adaptation fichier config unicaen app en prévision dans la montée de version...

Adaptation fichier config unicaen app en prévision dans la montée de version de unicaen app pour une meilleure indépendance la gestion des ip proxies et reverse proxies dans le cadre du filtrage extérieur etablissement.
parent b39ac78e
Loading
Loading
Loading
Loading
+11 −24
Original line number Diff line number Diff line
@@ -20,35 +20,22 @@ return [
         * Si la fonction retourne true, alors on n'est topujours considéré comme connecté depuis le réseau de l'établissement
         */
        'inEtablissement'  => function () {
            /* Exemple de test :
            $ip        = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
            $forwarded =  isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';
           $hostLocalization = \Application::$container->get(\UnicaenApp\HostLocalization\HostLocalizationUnicaen::class);

            $ipInterne = '10.'; // les IP doivent débuter par 10.* pour être considérés comme de l'établissement

            $proxies = [
                // Liste des adresses IP de vos proxies
            ];

            $reverseProxies = [
                // Liste des adresses IP des reverse-proxies
            ];

            // Si on est en direct et en interne sans passer par le proxy (pas de redirection)
            if (0 === strpos($ip,$ipInterne) && $forwarded === '') return true;
           return $hostLocalization->inEtablissement();
        },

            // Si on est en interne, que l'on sort puis on re-rentre en passant par le reverse proxy
            if (in_array($ip,$reverseProxies) && 0 === strpos($forwarded,$ipInterne)) return true;
        'activated' => 0,

            // Si on est en interne, que l'on passe par le proxy en interne
            if (in_array($ip,$proxies) && 0 === strpos($forwarded,$ipInterne)) return true;
        'masque-ip' => ''

            // Sinon, on vient de l'extérieur
            return false;
            */
        'proxies' => [
            //xxx.xx.xxx.xx
        ],

            return true;
        },
        'reverse-proxies' => [
            //xxx.xx.xxx.xx
        ],
    ],


+10 −0
Original line number Diff line number Diff line
@@ -9,6 +9,16 @@ if (file_exists($versionFile)) {
return [
    'unicaen-app' => [

        /**
         * Information pour la gestion du filtrage d'accés hors établissement de l'application
         */
        'hostlocalization'       => [
            'activated'       => AppConfig::get('global', 'activated', 0),
            'proxies'         => AppConfig::get('global', 'proxies', []),
            'reverse-proxies' => AppConfig::get('global', 'reverse-proxies', []),
            'masque-ip'       => AppConfig::get('global', 'masque-ip', ''),
        ],

        /**
         * Informations concernant cette application
         */