acesso simultaneo laravel 9
professor Carlos como faço para impedir o acesso de 2 usuarios com o mesmo login? exemplo se eu acessar o projeto e depois tentar acessar em outra maquina um dever ser ser deslogado, permitindo que somente um com mesmo login de acesso possa acessar
Olá, Renato!
Como vai?
O Jetstream te permite controlar as sessões ativas do usuário:
https://academy.especializati.com.br/curso/laravel-jetstream
--
Tem uma alternativa, que é criar uma sessão com um token, e quando o usuário logar, você muda o token
(Aqui um exemplo: https://github.com/carlosfgti/laravel-login-unico/blob/master/app/Http/Middleware/CheckUserUniqueAuth.php)
--
Se for API, é mais fácil, basta deletar os tokens anteriores.
Pegou a ideia?
Obrigado pela resposta professor estou usando o breeze para autenticação, esse exemplo que me passou do git funciona? Vou testar
Funciona sim, basta no evento de login você criar a sessão e no middleware faz a verificação.
Professor carlos utilzei esse exemplo https://github.com/carlosfgti/laravel-login-unico/blob/master/app/Http/Middleware/CheckUserUniqueAuth.php mais nada acon teceiu, lembro que é primeira vez que tento fazer isso, porem acho que somente criar essa classe
app/Http/Middleware/CheckUserUniqueAuth.php
não foi o suficiente tenho duvidas crie a coluna token_access na tabela users, imaginei que deveria ser criado algum valor nesse campo para depois ser comparado qdo outro dispositivo fosse conectado, mais nda disso aconteceu, pode me passar mais informações?falta algum a alteração em algum outro arquivo?
Vamos aos pontos que podem ter faltado:
Você registrou esse middleware?
https://github.com/carlosfgti/laravel-login-unico/blob/master/app/Http/Kernel.php#L61
Usou o middleware nas rotas?
Criou a sessão?
Usando o evento de login: (LogSuccessfulLogin) https://laravel.com/docs/10.x/authentication#events
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!