4. Segurança

O Cat UI possui um Guardião próprio, onde já integra com o fluxo de autenticação também nativo, seja utilizando JWT ou OpenID.

Uso

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { CatAuthGuard } from '@catrx/ui';
import { PageExampleComponent } from './page-example.component';

const routes: Routes = [
  { path: '', component: PageExampleComponent, canActivate: [CatAuthGuard] },
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule],
})
export class PageFormRoutingModule {}

Politicas

Visando rotas mais profundas e que precisam também ter a permissão validada (como rotas de edição de dados), foi criado o sistema de políticas que já está acoplado ao Guardião.

Sempre que quiser proteger uma rota, utilize o Guardião, porém, o mesmo irá por padrão validar apenas se o usuário encontra-se autenticado e se a rota acessada encontra-se liberada no menu, caso contrário, ele irá validar nas políticas (se a mesma possui permissão), caso não tenha políticas configuradas ou a rota não esteja liberada, a mesma será recusada.

Uso das políticas

O local de implantação recomendado é após a autenticação, junto do fornecimento das configurações menu.

Em CatRoutePolice.police, será solicitada uma função, onde será passado por parâmetro a rota acessada no momento para que você possa validar se a mesma está dentro de suas políticas de acesso, devendo assim, retornar um boolean, onde true permite o acesso e false bloqueia.

Last updated

Was this helpful?