2
respostas

Restringir alterações na URL

Bom dia pessoal! Tudo certo?

Tenho um sistema que loga na url: localhost/1234 por exemplo. Ao acessar um menu de configuração a URL fica: http://localhost:1234/Setores. Quando eu vou editar, por padrão a URL muda para http://localhost:1234/Setores/Edit/5 (que corresponde ao ID do item que está sendo editado) Gostaria de saber se tem alguma maneira de congelar a URL ou outro recurso para evitar que usuários mais espertos consigam acessar a edição (independente de perfil de acesso)

2 respostas

Olá, Raul

Para garantir esse tipo de segurança, você pode utilizar autorização do ASP.NET Core. Por exemplo, para autorizar a edição do setor somente aos usuários administradores, você poderia ter a autorização baseada em papéis (roles), marcando o método (action) do controller com o atributo Authorize:

    [Authorize(Roles = "Administrator")]
    public ActionResult Edit(int setorId)
    {
    }

Para forçar a autorização no controller inteiro (isto é, para aplicar a segurança em todas as actions, como Edit, Update, List, etc.), você teria que colocar o atributo no controller:

[Authorize(Roles = "Administrator")]
public class SetoresController : Controller
{
}

Boa tarde Marcelo tudo bem?

Tá ai um recurso interessante. Agora outra dúvida...como que indico no usuário que ele está autorizado a acessar a action que foi marcada?