Proteção de rotas - AlvaroVasconcelos/modular GitHub Wiki

Proteção de Rotas

Podemos proteger nossas rotas com middlewares que verificarão se a rota está disponível dentro de um determinado Route. Primeiro crie um RouteGuard:

class MyGuard implements RouteGuard {
  @override
  bool canActivate(String url) {
    if(url != '/admin'){
      //código para autorização
      return true;
    } else {
      //acesso negado
      return false;
    }
  }
}

Agora coloque na propriedade 'guards' da sua Router.

  @override
  List<Router> get routers => [
        Router("/", module: HomeModule()),
        Router("/admin", module: AdminModule(), guards: [MyGuard()]),
      ];

Se colocar em uma rota módulo, o RouterGuard ficará global para aquela rota.

⚠️ **GitHub.com Fallback** ⚠️