Validar sessão e usuário

1 resposta
D

Galera tô tentando ver se faço uma aplicação que valide a sessão e a permissão dos usuários nas paginas de um site.

O que eu quero é não deixar que usuarios sem autorização entrem em algumas pg e tb não ter o problema por exemplo de um usuario cadastrou-se com sucesso, clicou em voltar e possa novamente cadastrar-se entendeu?

Bom eu estava estudando e resolvi seguir o exemplo:
[codigo]


import javax.servlet.http.;
import java.security.
;

public class CommandToken{

public static void set(HttpServletRequest req){
	HttpSession session=req.getSession(true);
	long system=System.currentTimeMillis();
	byte[] time=new Long(system).toString().getBytes();
	byte[] id=session.getId().getBytes();

	try
	{
		MessageDigest md5=MessageDigest.getInstance("MD5");
		md5.update(id);
		md5.update(time);
		String token=toHex(md5.digest());
		req.setAttribute("token",token);
		session.setAttribute("token",token);
	}
	catch (Exception e)
	{
		System.err.println("Unable to calculate MD5 Digests");
	}
}//set
public static boolean IsValid(HttpServletRequest req){

HttpSession session=req.getSession(true);

String requestToken=req.getParameter(token);

String sessionToken=(String)session.getAttribute(token);

if(requestToken==null || sessionToken==null)

return false;

else

return requestToken.equals(sessionToken);

}//IsValid
private static String toHex(byte[] digest){

StringBuffer buf=new StringBuffer();

for(int i=0;i<digest.length;i++)

buf.append(Integer.toHexString((int)digest[i] & 0x00ff));

return buf.toString();

}//toHex

}


 que ele  o seguinte erro:

[---------- Compila ----------

CommandToken.java:21: cannot resolve symbol

symbol  : method setAttribute (java.lang.String,java.lang.String)

location: interface javax.servlet.http.HttpSession

session.setAttribute(token,token);

^

CommandToken.java:31: cannot resolve symbol

symbol  : method getAttribute (java.lang.String)

location: interface javax.servlet.http.HttpSession

String sessionToken=(String)session.getAttribute(token);

^

2 errors

Output completed (12 sec consumed) - Normal Termination]

Eu tentei visualiar as classes que compoem o javax.http e não conseguir encontrar nenhuma que tenha estes metodos:
setAttribute(“string1”,“string2”) e getAttribute(“string”);

O que eu faço.

Estou usando o J2sdk1.4.1_02,
já baixei o j2sdk1.4.2 mas não teve jeito

Se alguem tiver como me ajudar ficarei grato, até mesmo com um código semelhante e até melhor do que este

Um abraço

1 Resposta

R

Cara, copie e colei o seu código no meu eclipse, e ele compilou…
não apresentou erro…

Creio que o problema deve ser que ele não está encontrando o pacote servlet.jar, que contém essas classes…

Faça o seguinte, procure na sua máquina o arquivo servlet.jar, geralmente deve estar instalado em algum sub-diretório do seu Web Server, quando vc tiver o caminho, adicione ele na sua classpath, para que o compilador encontre o pacote…

Faça esse teste… ok…

[]´s

Criado 20 de janeiro de 2004
Ultima resposta 14 de abr. de 2004
Respostas 1
Participantes 2