Skip to content

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();
	}
}

Atenção!

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 interface Profile. 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