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
}
Só que ele dá 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