Browse Source

Merged in FD3-284 (pull request #2)

Agregado de una variable como parametro para el nombre del servicio nginx

Approved-by: Guillermo Espinoza <guillermo@interlink.com.ar>
Gabriel Gosparo 6 years ago
parent
commit
16b58c981e
5 changed files with 47 additions and 8 deletions
  1. 22 0
      app/AppKernel.php
  2. 3 0
      app/config/parameters.yml.docker
  3. 20 6
      app/config/security.yml
  4. 1 1
      composer.json
  5. 1 1
      composer.lock

+ 22 - 0
app/AppKernel.php

@@ -2,6 +2,9 @@
 
 use Symfony\Component\HttpKernel\Kernel;
 use Symfony\Component\Config\Loader\LoaderInterface;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
+use Symfony\Component\HttpFoundation\Request;
+
 
 class AppKernel extends Kernel
 {
@@ -77,4 +80,23 @@ class AppKernel extends Kernel
     {
         $loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml');
     }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
+    {
+        if (false === $this->booted) {
+            $this->boot();
+        }
+        // se puede sacar la variable nginx-proxy porque es el nombre del docker y puede variar
+        // con REMOTRA_ADDR obtengo el mismo valor (http://symfony.com/doc/current/deployment/proxies.html)
+        //gethostbyname("nginx-proxy") == $request->server->get('REMOTE_ADDR')
+        if ($this->container->hasParameter("nginx_name")) {
+            Request::setTrustedProxies(
+                array('127.0.0.1', $this->container->getParameter("nginx_name")),
+                Request::HEADER_X_FORWARDED_FOR);
+        }
+        return parent::handle($request, $type, $catch);
+    }
 }

+ 3 - 0
app/config/parameters.yml.docker

@@ -40,3 +40,6 @@ parameters:
     cookie_domain_client: '%env(CLIENT)%'
     cookie_domain: '%cookie_domain_client%.%env(DOMAIN)%'
     session_names: [flowdat_base_session, flowdat_ftth_session, flowdat_mapas_session, flowdat_stats_session, flowdat_radius_session, flowdat_cablemodem_session]
+
+    # nombre del servicio del nginx
+    nginx_name: nginx-proxy

+ 20 - 6
app/config/security.yml

@@ -5,19 +5,33 @@ security:
     providers:
         oauth:
             id: base_oauth_bundle.oauth_user_provider
-
-    firewalls:
-
+    role_hierarchy:
+        ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]
+        ROLE_SUPER_ADMIN: ROLE_ADMIN
+            
+    firewalls:       
         dev:
+            # es una llave que se utiliza para guardar y traer los datos de la session. Los firewalls que posean
+            # el mismo context, van a compartir la informacion. PARA QUE FUNCION "stateless" debe estar en FALSE
+            context: ik_share
+            stateless: false
             pattern: ^/(_(profiler|wdt)|css|images|js)/
             security: false
 
         api:
-          pattern: ^/api
-          stateless: true
-          oauth_proxy: true
+            # es una llave que se utiliza para guardar y traer los datos de la session. Los firewalls que posean
+            # el mismo context, van a compartir la informacion. PARA QUE FUNCION "stateless" debe estar en FALSE
+            context: ik_share
+            stateless: false
+            pattern: ^/api
+            stateless: true
+            oauth_proxy: true
 
         secured_area:
+            # es una llave que se utiliza para guardar y traer los datos de la session. Los firewalls que posean
+            # el mismo context, van a compartir la informacion. PARA QUE FUNCION "stateless" debe estar en FALSE
+            context: ik_share
+            stateless: false
             pattern: ^/
             logout:
                 path:   /logout

+ 1 - 1
composer.json

@@ -128,7 +128,7 @@
         "dwoo/dwoo": "dev-master",
         "hwi/oauth-bundle": "^0.5.3",
         "ik/audit-bundle": "dev-master",
-        "ik/auth-bundle": "dev-master",
+        "ik/auth-bundle": "dev-FD3-284",
         "ik/base-admin-bundle": "dev-master",
         "ik/device-bundle": "dev-master",
         "ik/extra-data-bundle": "dev-master",

+ 1 - 1
composer.lock

@@ -1430,7 +1430,7 @@
         },
         {
             "name": "ik/auth-bundle",
-            "version": "dev-master",
+            "version": "dev-FD3-284",
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/AuthBundle.git",