public function authorize($user, CakeRequest $request) {
                //sesion expiro
                if( empty( $user['id'] ) ){
                       return false;
                }

                //si es admin general esta autorizado
                if(array_key_exists('is_admin', $user) && $user['is_admin']) {
                        return true;
                }


                // si es pantalla de instalacion de nuevo tenant
                if ( $request->params['plugin'] == 'mt_sites' && $request->params['controller'] == 'sites' && $request->params['action'] == 'install'){
                    return true;
                }

                if ( $request->params['plugin'] == 'install' && $request->params['controller'] == 'configurations' && $request->params['action'] == 'first_configuration_wizard'){
                    return true;
                }
                
                if ( !array_key_exists('tenant', $request->params) && empty($request->params['tenant']) ){
                        // es pagina global. O sea, no estoy dentro del tenant
                       // debug( $request->params );
                        if ( $request->params['action'] == 'display' ) {
                      return true;
                        }
            }
               

                if ( !array_key_exists('Site', $user) ) {
                    // el usuario no tiene sitios asignados. No puede entrar a ningun lado
                    return false;   
                }



                // listar sitios del la variable de sesion del usuario actual
                $siteAlias = Hash::extract( $user['Site'], '{n}.alias' );
                if ( array_key_exists('tenant', $request->params) && in_array( $request->params['tenant'], $siteAlias ) ) {
                    // si el usuario tiene, entre sus sitios al sitio actual, entonces esta autorizado                      
                    return true;
                }

                // acceso a la pagina de edicion y de cambio de contraseña propia de cada usuario registrado y logueado. 
                if (  (strtolower($request->params['controller']) ==  "users" 
                        && strtolower($request->params['action']) == 'my_edit') 
                    or (strtolower($request->params['controller']) ==  "users" 
                        && strtolower($request->params['action']) == 'change_password') ){
                      //Si el controlador es users y el action es my_edit o change_password te dejara entrar siempre que estes logeado.
                      return true;
                }


		return false;
	}