Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A autorização em ASP.NET Core é controlada com o atributo [Authorize] e seus vários parâmetros. Em sua forma mais básica, aplicar o atributo [Authorize] a um componente Razor, controlador, ação ou página Razor, limita access a esse componente a usuários autenticados.
Este artigo usa exemplos de componente e se concentra em cenários de autorização. Para obter as diretrizes de Páginas e MVC, consulte os seguintes recursos depois de ler este artigo:
Atributo
Em aplicativos, especifique o atributo na parte superior de um arquivo de componente (). No exemplo a seguir, somente usuários autenticados podem access a página:
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Importante
Use apenas o atributo em componentes atingidos por meio do roteador. A autorização é realizada apenas como um aspecto do roteamento e não para componentes filho renderizados dentro de uma página. Para autorizar a exibição de partes específicas em uma página, use um componente AuthorizeView, descrito em ASP.NET Core Blazor autenticação e autorização.
O atributo também pode ser aplicado a todos os componentes em um aplicativo ou a um subconjunto de componentes em uma pasta usando um arquivo (). Adicione uma diretiva para o namespace com uma diretiva para o atributo:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
O atributo também dá suporte à autorização baseada em função ou baseada em política. Para a autorização baseada em funções, use o parâmetro . No exemplo a seguir, o usuário só poderá acessar a página se estiver nos papéis Admin ou Superuser.
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
Para autorização baseada em política, use o parâmetro. No exemplo a seguir, o usuário só poderá acessar a página se atender nos requisitos da política de Over21autorização:
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Se e não forem especificados, o usará a política padrão:
- Usuários autenticados (conectados) estão autorizados.
- Usuários não autenticados (não conectados) não estão autorizados.
Quando o usuário não está autorizado e se o aplicativo não personalizar conteúdo não autorizado com o componente, a estrutura exibirá automaticamente a seguinte mensagem de fallback:
Not authorized.
Para obter mais informações sobre Blazor autenticação e autorização, consulte ASP.NET Core Blazor autenticação e autorização.
Use o atributo [AllowAnonymous] para permitir acesso a usuários não autenticados a ações individuais.
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
Para obter informações sobre como exigir autenticação para todos os usuários do aplicativo, consulte Criar um aplicativo ASP.NET Core com dados do usuário protegidos por autorização.
Recursos adicionais
- Autorização simples em Páginas do ASP.NET CoreRazor
- Autorização Simples no ASP.NET Core MVC