Vamos supor que eu tenho outras controllers e eu preciso ter um controle de acesso a partir apenas de um login realizado, eu preciso criar uma Politica e configurar ela igual foi feita para IdadeMinina?
Vamos supor que eu tenho outras controllers e eu preciso ter um controle de acesso a partir apenas de um login realizado, eu preciso criar uma Politica e configurar ela igual foi feita para IdadeMinina?
Oi Gustavo, tudo bem?
Para controlar o acesso a outras controllers com base em um login realizado, você pode criar uma política de autorização e configurá-la da mesma forma que foi feita para a idade mínima.
Primeiro, você precisa definir a política de autorização no ConfigureServices do arquivo Startup.cs. Você pode fazer isso adicionando o seguinte código:
services.AddAuthorization(options =>
{
options.AddPolicy("AcessoControllerPolicy", policy =>
{
policy.RequireAuthenticatedUser();
});
});
Aqui, estamos criando uma política chamada "AcessoControllerPolicy" que requer um usuário autenticado. Você pode personalizar essa política de acordo com suas necessidades.
Em seguida, você precisa aplicar essa política à controller desejada. Para fazer isso, você pode usar o atributo [Authorize] na classe da controller ou em um método específico. Por exemplo:
[Authorize(Policy = "AcessoControllerPolicy")]
public class OutraController : Controller
{
// código da controller
}
Dessa forma, a política de autorização será aplicada à controller "OutraController" e apenas usuários autenticados terão acesso a ela.
Lembre-se de que você também precisa garantir que a autenticação esteja configurada corretamente em sua aplicação, como a configuração do JWT Bearer Token mencionada no contexto.
Um abraço e bons estudos.