Criar Filtro de Permissões

3 respostas
caraujocruz

Bom dia Srs.,
Por favor me ajudem … :slight_smile:
tenho um campo permissao com dois tipos de usuarios ( admin / user) , minha idéia e criar um metodo no meu dao que retorne true e false e verificar isso dentro do meu filtro de permissão, mais não estou conseguindo criar uma situação que ele me retorne true.
segue o codigo …

public boolean verificaPermissao(Usuarios usuario) throws SQLException {
PreparedStatement stmt = connect.prepareStatement("select * from tb_usuarios where usuario=? and permissao=?");
		stmt.setString(1, usuario.getUsuario());
		stmt.setString(2, usuario.getPermissao());
		ResultSet rs = stmt.executeQuery();
		try {
			//Se nao existir nenhum usuário retorna !!
			if (!rs.next()) {

				return false;

			}else{
				
				[b]//Preciso implementar algo que me retorne true caso o campo permissao seja = administrador ![/b]
				
				return true;
			}
			
			
		} finally {

			rs.close();
			stmt.close();
			connect.close();

		}

	}

Abs,
Carlos

3 Respostas

renamed

Ola Carlos…

Duas coisas…

ResultSet rs = stmt.executeQuery();

precisa ficar dentro do try catch… faça algo assim:

ResultSet rs = null; try { rs = stmt.executeQuery(); }

Outra coisa,
//Preciso implementar algo que me retorne true caso o campo permissao seja = administrador !
Mas isso vc já não fez na query qnd colocou where usuario=? and permissao=? ??

caraujocruz

Concordo sobre a Query…
mais ainda estou com uma dúvida.
exemplo …
eu tenho cadastrado ;
Campo usuário - Carlos - Campo permissão - admin.
Campo usuário - Joao - Campo permissão - user.
Como faço para verificar no filtro qual a permissão do usuario ?

public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		Usuarios usuario = new Usuarios();
		
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse resp = (HttpServletResponse) response;
		
		try {
			if(new chamadoDao().verificaPermissao(usuario) == false){
				
				resp.sendError(HttpServletResponse.SC_UNAUTHORIZED);
				
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		chain.doFilter(request, response);
		
		
		
	}

valew

caraujocruz

Pessoal alguma idéia ? estou preso nisso …
Obrigado,

Criado 8 de dezembro de 2009
Ultima resposta 8 de dez. de 2009
Respostas 3
Participantes 2