Alguem entende de cookies + vraptor?

5 respostas
F

e aê galera, é o seguinte ...
preciso implementar cookies num projeto que eu to fazendo aqui ...

public class criaCookie extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
		response.setContentType("text/html");
		PrintWriter pw = response.getWriter();
 
		Cookie cookie = new Cookie("teste","Teste de cookie .... .... .... .... ");
		cookie.setMaxAge(999999); 
		response.addCookie(cookie);
 
		pw.println("foi criado o cookie: " + cookie.getName() +" -- "+ cookie.getValue());
		
	}
e tipo, num projeto separado usando o codigo acima cria certinho o cookie, mas dai tentei implementar isso em um outro projeto que estou fazendo, que usa vraptor e hibernate, mas não consegui e nem sei como fazer ;x tipo, a ideia era pra ele salvar por um certo tempo, tipo, uma ou duas horas, o login e a senha que o usurio informar .. alguem saberia me ajudar com isso ?

5 Respostas

Rafael_Guerreiro

NUNCA faça isso.

Crie algum código hash usando MD5 ou SHA com coisas que validem aquela sessão nesse tempo.

Por exemplo: pegue o ID + o username do usuário junto com a data em milissegundos em que o cookie expira e concatene em uma String, coloque isso para gerar esse hash.

Ele vai gerar um hash um hash bem aleatório que só é válido nesse período. Depois você salva esse hash junto com o user de alguma forma e consulta o hash que o cookie está te mandando.

Quando o hash for encontrado, você pega o User ao qual ele se refere e faz o login.

Quando o hash não for encontrado, você redireciona para a tela de login.

Para fazer o cookie, você pode criar um @Component que faz esse código mesmo. Basta receber o HttpServletRequest no construtor.

F

hmmm, não entendi muito bem, sou meio novo nessa area ainda ;x
voc podia me mostrar um pequeno exemplo com disso ?

Rafael_Guerreiro

O que, especificamente, você não entendeu?

Qual a versão do VRaptor que você está usando?

F

tipo, sou meio novo nessa area, dai ainda não vi sobre essa parte de hash, MD5 e SHA … dai não entendi muito bem a hora que tu falo, por isso pedi um exemplo …
e estou usando o ultimo vraptor que lanço, o 3.5…

Rafael_Guerreiro

Hash é basicamente codificar uma String em outra completamente ilegível.

Mas o hash não é único, ou seja, Strings diferentes podem gerar o mesmo hash, mas a chance é bem pequena.

Hash significa espalhar, serve para você pegar um conjunto de muitas informações e agrupá-las em um lugar.

Aqui sobre os hashs http://pt.wikipedia.org/wiki/Hash

Como você usa VRaptor 3.5, ele tem uma função marota que te ajuda nisso:

Criado 4 de junho de 2013
Ultima resposta 5 de jun. de 2013
Respostas 5
Participantes 2