ENCERRAR ACESSO DO USUÁRIO ASP.NET CORE
#490346 - 05/09/2019 21:03:06
Estou pesquisando de como implementar um controle que evite que um usuário faça dois acessos simultâneos em dispositivos diferentes na minha aplicação ASP NET CORE (WEB API), ou seja queria que no segundo acesso ao sistema eu conseguisse derrubar o login do primeiro acesso. Já fiz varias pesquisas mas não consigo uma forma de implementar isso. A ideia que tive é de criar uma classe que registrasse os tokens gerados para determinado login que quero encerrar, e quando tivesse uma requisição desse usuário seria feito uma verificação se token estivesse registrado nessa classe redirecionava a requisição para uma pagina de logout. Para essa classe iria implementar a inteface Singleton dessa forma iria ter apenas uma instancia dessa classe na minha aplicação. Não sei se essa forma é viável por isso peço ajuda de vocês.
Existe uma forma de remover todos os tokens gerados para determinado login (no servidor) em uma aplicação ASP NET CORE? Dessa forma conseguiria chegar no mesmo resultado de uma forma bem mais fácil, já que próxima requisição já seria redirecionado para pagina de login.
#490348 - 05/09/2019 22:03:34
O Token, nada mais é que um valor encriptado você não o "elimina". O que você pode fazer é implementar OAuth 2.0, verificar o ip do requisitante no login e gravar. À cada acesso, verificar se o ip de quem chama é o mesmo do primeiro acesso(isso tudo no server). É o que eu faria.