0.0.5 • Published 4 years ago

allowed-roles v0.0.5

Weekly downloads
18
License
-
Repository
-
Last release
4 years ago

AllowedRoles

Projeto em Angular 7 modularizado, responsável por aplicar a checagem de autorização de acesso do usuário as funcionalidades de um sistema, utilizando as regras (FUNCIONALIDADES, PERMISSOES, GRUPOS, etc) do sistema ACESSO. Por ser modularizado, se torna simples e facíl utiliza-lo em outros projetos, fazendo uso da ferramenta 'npm' para importa-lo, mais detalhes abaixo.

Como utiliza-lo em sua aplicação

1 - No terminal entre na raiz do seu projeto angular, execute o comando 'npm i allowed-roles' para instalar o modulo.
2 - Execute o comando 'npm install ngx-cookie-service --save' para instalar a biblioteca de dependência ngx-cookie-service.
3 - No arquivo 'app.module.ts' importe o modulo 'AllowedModule', ex:
outros imports...
import { AllowedModule } from 'allowed-roles';

@NgModule({
  ...
  imports: [
    BrowserModule,
    FormsModule,
    AllowedModule
  ],
  ...
})
export class AppModule { }
4 - Faça a injeção do service 'AllowedRolesService' em seu component angular (de preferência o component de 'boas vindas' da aplicação), e informe os campos 'urlPermissoes' e 'sistema', ex:
outros imports...
import { AllowedRolesService } from 'allowed-roles';

@Component({
  selector: 'boas-vindas',
  templateUrl: './boas-vindas.component.html',
  styleUrls: ['./boas-vindas.component.css']
})
export class BoasVindasComponent implements OnInit {

  atributos da classe...

  constructor(private allowedRolesService:AllowedRolesService, outras injecoes...) {
    allowedRolesService.urlPermissoes = "https://microservices-dev.redetendencia.com.br/api_rest/ms-acesso/login/informacao_usuario_com_permissoes/";
    allowedRolesService.sistema = "MARKETPLACE";
  }
}
5 - Para aplicar as regras no elemento html, utilize a diretiva 'appAllowedRoles' passando as roles que permitem acesso ao elemento, ex:
<button appAllowedRoles='["MP_PRODUTO_GRAVAR","MP_PRODUTO_EXCLUIR"]' type="button" (click)="addProduct()">Gravar</button>

Manutenção, build e publicação no portal npm

Código fonte

Para realizar manutenção no código-fonte, as classes de service e directive são:AllowedRolesService(arquivo: allowed-roles.service.ts)AllowedRolesDirective(arquivo: allowed-roles.directive.ts).

Build e publicação no portal npm

Dados da conta da IntegraTI no portal npm:

Usuario: integratiSenha: !ntegr@t!Email: fabrica.web@redetendencia.com.br

Build e publicação

1 - No terminal, entre na pasta raiz da aplicação allowedRoles. 2 - Digite 'npm login' e passe os dados da conta solicitados. 3 - Com o comando 'npm install ng-packagr --save-dev' instale a biblioteca ng-packagr, ele irá compilar a nossa biblioteca criada em TypeScript para o formato de um pacote do Angular. 4 - Execute o comando 'npm run packagr', ele fará um dist da nossa biblioteca. A execução desse comando irá criar a pasta dist. 5 - Execute o comando 'npm pack .' para gerar um arquivo .tgz com a versão do nosso projeto. 6 - Por fim, execute o comando 'npm publish dist' para que possamos publicar a nossa biblioteca no portal npm.

Acessando o portal npm via navegador web

Se caso necessário, ou por mera curiosidade você quiser acessar o portal npm, navegue para https://www.npmjs.com/ Faça login utilizando o usuário e senha já informados acima. No menu de usuário logado, acesse a opção 'Packages' para visualizar os pacotes da conta IntegraTI. Fonte/tutorial: https://medium.com/angularbr/publicando-modulo-angular-4-no-npm-392ba0f4a7f9

0.0.5

4 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago

0.0.0

5 years ago