Configuración de rutas centrales
Comprar curso

7. Configuración de rutas centrales

En este capítulo se describe cómo hacer una modificación en el archivo "RouteServiceProvider.php" para asegurarse de que las rutas centrales solo estén registradas en dominios centrales. Se presentan los métodos "mapWebRoutes" y "mapApiRoutes", los cuales deben ser llamados manualmente desde el método "boot". También se explican los dominios centrales y cómo especificarlos en el archivo "tenancy.php". Además, se muestra cómo se verán las rutas de inquilinos y se sugiere hacer una pequeña modificación para poder ver el funcionamiento de múltiples inquilinos.


6 comentarios

Inicia sesión para comentar

Comentarios:

  • Isaac

    Isaac hace 1 semana

    Tenia un error con las rutas del inquilino .. se soluciono agregando este código

  • Juan Jose Soto

    Juan Jose Soto hace 1 mes

    Hola a todos, para los que estan usando laravel 11 en adelante se daran cuenta que el archivo RouteServiceProviders no esta, y que ahora las rutas se administran en : Bootstrap/App.php

    Aqui les dejo el codigo de como debe quedar:

    • Juan Montoya Vega hace 1 mes

      Muchas gracias!!!

    • Matías Roodschild hace 1 semana

      Muchas gracias x2!!!

  • Jorge

    Jorge hace 2 meses

    Hola buen dia, me di cuenta que si usas Laravel y react inertia para implementar el tenancy si te autenticas con el tenancy y luego vas a la ruta central se autetnica solo yy no se como evitarlo, alguien mas le ha pasado que me pueda ayudar ?

  • Steven Ortiz

    Steven Ortiz hace 8 meses

    Amigo una consulta si quiero llevar un proyecto multi-tenancy a producción la configuración a la hora de subirlo es la misma que cuándo subo un proyecto normal ósea no hay que configurar algo mas o algo extra ya que se supone que se crea una base de datos por inquilino cuando se registre al sistema ? eso como se maneja en producción tienes alguna idea sobre ese tema disculpa gracias.

  • Marcos Morales

    Marcos Morales hace 1 año

    Hola profe, estoy usando nginx y me da este error: Tenant could not be identified on domain tenancy.test que podra ser?

     

  • Victor Arana Flores

    Victor Arana Flores hace 1 año

    Registro de rutas centrales en dominios centrales

    En el archivo app/Providers/RouteServiceProvider.php, es necesario realizar un pequeño cambio para asegurarnos de que las rutas centrales se registren solo en los dominios centrales.

    Para ello, modifica los métodos mapWebRoutes() y mapApiRoutes() de la siguiente manera:

    protected function mapWebRoutes()
    {
        foreach ($this->centralDomains() as $domain) {
            Route::middleware('web')
                ->domain($domain)
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));
        }
    }
    
    protected function mapApiRoutes()
    {
        foreach ($this->centralDomains() as $domain) {
            Route::prefix('api')
                ->domain($domain)
                ->middleware('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));
        }
    }
    
    protected function centralDomains(): array
    {
        return config('tenancy.central_domains');
    }
    

    Una vez que hayas realizado estos cambios, llama manualmente a los métodos mapApiRoutes() y mapWebRoutes() desde el método boot() en lugar de usar la llamada $this->routes().

    public function boot()
    {
        $this->configureRateLimiting();
    
        $this->mapApiRoutes();
        $this->mapWebRoutes();
    }

    Con estos cambios, te aseguras de que las rutas centrales se registren solo en los dominios centrales. 

    • Isaac hace 1 semana

      Tengo un error con las rutas. Entro desde http://bar.tenancy.test/ al login y llego a http://tenancy.test/login. He vuelto a ver esta parte del curso, pero no entiendo el motivo del error. he configurado correctamente el RouteServiceProvider