[RESOLVIDO POR MIM MESMO +SOLUÇÃO]"java.sql.SQLException: Column Index out of range, 3 > 2"

Boa tarde,

estou fazendo uma aplicação em JSF, utilizando Spring Security e Hibernate. Na teoria tudo bate, mas quando vou logar no sistema, deparo com o erro “java.sql.SQLException: Column Index out of range, 3 > 2.” As colunas do meu banco são codigo, usuario, email, login e senha. O que seria este erro, qual sua causa e solução? Devo postar alguma parte do código aqui para avaliação?

Resolvi meu problema editando o arquivo WEB-INF/applicationContext-security.xml, substituindo

<jdbc-user-service data-source-ref="ocupacaoDataSource" authorities-by-username-query="SELECT u.login, p.permissao FROM usuario u, usuario_permissao p WHERE u.codigo = p.usuario AND u.login = ?" users-by-username-query="SELECT login, senha FROM usuario WHERE login = ?" />

por

<jdbc-user-service data-source-ref="ocupacaoDataSource" authorities-by-username-query="SELECT u.login, p.permissao FROM usuario u, usuario_permissao p WHERE u.codigo = p.usuario AND u.login = ?" users-by-username-query="SELECT login, senha, true FROM usuario WHERE login = ?" />

A mudança foi o true na última linha, ele age como coringa pois o xml precisa de 3 argumentos para fazer a verificação de login. Espero que isso ajude alguém que tenha o mesmo problema que eu tive.

Hehe amigo, obtive o mesmo problema! Provavelmente estamos seguindo o mesmo material de apoio, tabem esta lendo o livro Java para WEB - Décio Heinzelmann?

Vamos nos ajudar, trocar informações e experiencias para um aprendizado mais rapido! :slight_smile:

Se interessar: brunomilhan2@gmail.com

Abraços