Olá galera, estou precisando implementar o controle de acesso às paginas de uma aplicação web que usa struts.
Partindo da idéia de que, ao efetuar o login, é armazenado na sessão um objeto do tipo usuário.
Alguém tem um exemplo de como fazer este processo de forma inteligente uma vez que sou novo nisso.
:roll:
Salve,
você deve criar um método estático público em uma classe para verificar se o usuário é válido como este:
[code]public static boolean login ( String nome, String senha )
{
try
{
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Teste");
Statement stm = con.createStatement();
String sql = "SELECT nome FROM usuario " +
"WHERE nomeUsuario = '" + nome + "' " +
"AND senha = '" + senha + "'";
ResultSet res = stm.executeQuery( sql );
if ( res.next() )
{
res.close();
stm.close();
con.close();
return true;
}
res.close();
stm.close();
con.close();
}
catch ( ClassNotFoundException e )
{
System.out.println( e.toString() );
}
catch ( SQLException e )
{
System.out.println( e.toString() );
}
catch ( Exception e )
{
System.out.println( e.toString() );
}
return false;
}[/code]
aí depois você manipula com o httpsession assim:
HttpSession secao = request.getSession(true);
secao.setAttribute("nomeUsuario", new String( nomeUsuario ) );
secao.setAttribute("senha", new String( senha) );
aí para verificar autenticidade:
secao.getAttribute("nomeUsuario" );
secao.getAttribute("senha");
// verifica autenticidade
if (login( nomeUsuario, senha))
//sucesso
else
// dados incorretos
isso ajuda