-
Notifications
You must be signed in to change notification settings - Fork 7
PT BR 04.01. Autenticação
Rafael Dipold edited this page Dec 24, 2013
·
4 revisions
Para fazer o login das credenciais do usuário você pode usar a interface Subject
que em uma definição simplória representa o usuário corrente.
Caso seja necessário "salvar" mais dados em sessão, o plugin também fornece a interface Session
.
Exemplo:
@Controller
public class UsuarioDAO {
@Inject Subject currentUser;
@Inject Session session;
@Post("/login")
public void login(String username, String plainTextPassword, boolean remember) {
try {
currentUser.login(new UsernamePasswordToken(username, plainTextPassword, remember));
session.setAttribute(key, value);
}
catch (UnknownAccountException e) {}
catch (IncorrectCredentialsException e) {}
catch (LockedAccountException e) {}
catch (ExcessiveAttemptsException e) {}
catch (AuthenticationException e) {}
}
@Get("/logout")
public void logout() {
currentUser.logout();
}
}
Por padrão, o método
login()
faz a autenticação sem uso de criptografia, ou seja, comparando diretamente a senha informada com a senha obtida via implementação da interfaceProfile
. Porém gravar as senhas em texto puro não é aconselhável, portanto, o uso de criptografia é altamente recomendável. Para saber mais consulte o tópico Criptografia
Próximo Passo: Autorização