Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Introdução

O TNF introduz uma infra-estrutura para Autorização e Autenticação para suas aplicações web.

Os endpoints de uma aplicação podem necessitar de uma níveis de permissões para serem acessados.

A estrutura para utilização de autorização de autenticação está contida no pacote Tnf.App.AspNet.Security disponível via nuget em nosso package souce: https://www.myget.org/F/tnf/api/v3/index.json


Dependências de módulo


Para ter o nosso projeto de segurança no projeto web é necessário criar um módulo que dependa do módulo TnfAppAspNetCoreSecurityModule:


Bloco de código
languagec#
firstline1
titleDependências de um módulo
linenumberstrue
[DependsOn(typeof(TnfAppAspNetCoreSecurityModule))]
public class WebModule : TnfAppModule
{
    public override void Initialize()
    {
        IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
    }
}


Dessa forma quando o modulo for carregado ao startup da aplicação suas dependências serão carregadas com ele.

Atributo de Autorização

Para vincular um endpoint a uma permissão, é necessário decorar ele com o atributo de segurança disponibilizado pelo Tnf.App.AspnetCore.Security:

Bloco de código
languagec#
firstline1
titleDependências de um módulo
linenumberstrue
public class BlogController : TnfAppController
{
    [HttpGet]
    [TnfAuthorize(Permissions.CanGet)]
    public IActionResult Get()
        => CreateResponseOnGet(new ResponseDto());
}