jdbcRealm no Glassfish 3.1.1

13 respostas
H

Alguém já conseguiu fazer o jdbcRealm funcionar no glassfish 3.1.1? Eu estou faz uns 2 dias tentando fazer funcionar porém sempre dá o seguinte erro:

com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Failed file login for humberto. at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:394) at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:240) at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:153) at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:512) at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:453) at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:268) at org.apache.catalina.authenticator.AuthenticatorBase.processSecurityCheck(AuthenticatorBase.java:911) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:546) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:623) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:662)

Aparentemente o glassfish está utilizando o fileRealm ao invés do jdbc. Já pesquisei no google e achei muitos casos similares, mas nenhuma solução que resolvesse o meu problema.

Estou utilizando o postgreSQL (também testei com o javadb) e as minhas configurações estão abaixo:

web.xml:

<security-constraint> <display-name>UserConstraint</display-name> <web-resource-collection> <web-resource-name>usuario</web-resource-name> <description/> <url-pattern>/index.xhtml</url-pattern> </web-resource-collection> <auth-constraint> <description/> <role-name>usuario</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <realm-name>security</realm-name> <form-login-config> <form-login-page>/login.xhtml</form-login-page> <form-error-page>/loginError.xhtml</form-error-page> </form-login-config> </login-config> <security-role> <description/> <role-name>usuario</role-name> </security-role>
glassfish-web.xml:

<security-role-mapping> <role-name>usuario</role-name> <principal-name>humberto</principal-name> <group-name>usuario</group-name> </security-role-mapping>
domain.xml (glassfish):

<auth-realm name="security" classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"> <property name="jaas-context" value="jdbcRealm"></property> <property description="null" name="password-column" value="password"></property> <property name="assign-groups" value="usuario"></property> <property name="datasource-jndi" value="jdbc/security"></property> <property name="group-table" value="usuario"></property> <property name="user-table" value="usuario"></property> <property description="null" name="group-name-column" value="group"></property> <property name="digest-algorithm" value="none"></property> <property description="null" name="user-name-column" value="username"></property> </auth-realm>

No glassfish 3.0.1 eu já consegui fazer funcionar com essas mesmas configurações.

Basicamente já tentei utilizando MD5 ou none para encriptação, usuario e grupo como tabelas separadas, grupo como um atributo de usuário (portanto utilizando apenas 1 tabela), usando view, e nada disso funcionou comigo.

O jdbc pool está corretamente configurado, pois já o utilizei dentro da aplicação (EJB3+JSF2).

Eu criei este tópico não apenas para achar a solução, mas para talvez me convencer de que isso realmente não é possível devido a um bug dessa versão do glassfish.

13 Respostas

P

Estou no mesmo dilema.

Fiquei revendo a configuração o dia inteiro ontem, e não funcionava nem a pau. Tentei no glasfish 3.0 e funcionou normal.

Alguém conseguiu configurar o JDBCRealm com Glassfish 3.1?

Abraços.

P

Testei no 3.1.1 e no 3.1 e nada. No 3.0.1 funcionou certo.

Ou é um bug ou mudou a forma de fazer a configuração.

Se alguém souber…

H

Pois é, também me passou pela cabeça que poderia ter mudado a configuração, porém na documentação oficial e nos tutoriais que vi, configuram tudo do mesmo jeito. Estou torcendo para isso estar resolvido no glassfish 3.2. Por enquanto vou desenvolvendo a aplicação no 3.1.1, mais pra frente decido se uso o 3.2 ou 0 3.0 para utilizar o jdbcRealm.

Ou testo o JBoss AS 7 na próxima release do Netbeans tb, pois no pouco que mexi com o glassfish ele me pareceu meio instável.

No 3.0.1 por algum motivo ele demora uma eternidade para abrir o admin console, achei que fosse por causa do proxy da rede, mas desabilitei o acesso à internet e continuou a mesma coisa. No 3.1.1 abre normal, mas tem esse problema do realm. Complicado…

L

Olá pessoal,

eu também fui implementar no GF 3.1.1 (b12) e realmente parece ser BUG do glassfish. Estou acompanhando blogs que relatam o mesmo problema. Penso que o que podemos fazer é esperar atualização.

Se tiver alguma novidade postarei aqui, e peço que postem, pois acredito que muitos estão com o mesmo problema.

Abraços.

L

Bom, alguns resolveram o problema voltando para versão 3.0.

No entanto, são vários problemas ao fazer downgrade para 3.0. Primeiro que esta versão não possui cobertura completa para JEE 6 e parece que tem bugs com CDI.

Alguem no GUJ está conseguindo usar JDBC Realm com GF 3.1.1??

L

Bom, só para situar quem acompanha este tópico ou está passando por mesmo problema.

Entrei em contato por MP com dois colegas que postaram aqui e ambos resolveram voltando a versão do GF para 3.0x. Como disse acima, em algumas situações isso não dá (como no eu caso). Estou postando em outros foruns como Javaranch e Stackoverlfow.

Assim que tiver novidades, eu postarei aqui. Mas a princípio, parece realmente ser BUG do GF 3.1.1.

Abraço.

L

Pessoal, consegui resolver. Irei deixar os procedimentos e dicas para aqueles que estiverem passando por mesmo problema, resolverem.

1 - A criptografia padrão do GF 3.1.x, diferente das versões anteriores que é MD5, é SHA-256. Por tanto, a senha gravada no Banco deve estar neste formato.
2 - Altere o Level do Log de segurança para FINEST. Assim voce conseguirá detectar mais detelhadamente os erros. O padrão que é INFO irá te retornar coisa mais generica e dificil de detectar.
3 - Se possível, atualize o Java para 7 (Isso não é requerimento para funcionar)

Depois que segui esses passos, eu fiquei mais confuso ainda. O que estava acontecendo comigo era o seguinte: dava essa Exception:

WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Security Exception

Como podem ver, é um erro generico. Ativei o level de Log e eis que me deparo com este erro:

Column "userpassword" does not exists

Mas a coluna estava lá dentro da tabela user, foi como se o Glassfish não estivesse “enxergando” (bug??).

Depois de bater a cabeça por mais umas horas, resolvi recriar a tabela de Usuarios. Coloquei assim só para teste:

tabela: usuario name: nome password: senha

Inseri os mesmos dados que haviam na tabela anterior. E reconfigurei o mesmo Realm, alterando os nomes dos campos.

E pasmem. Funcionou. Realmente nao entendi o que pode ter acontecido, só sei que isso tirou meu sono por 4 dias.

Abraços.

G

Eu tenho usado o GF3.1.1, e meu JDBC Realm está funcionando bem.

Segue meu arquivo de configuração. Dados do usário e grupo estão na mesma tabela, e uso um datasource para conectar na base de dados.

<auth-realm name="icob-jaas-realm" classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm"> <property name="digest-algorithm" value="SHA-256"></property> <property name="user-name-column" value="email"></property> <property name="password-column" value="passwd"></property> <property name="group-name-column" value="usergroup"></property> <property name="jaas-context" value="jdbcRealm"></property> <property name="group-table" value="authuser"></property> <property name="user-table" value="authuser"></property> <property name="datasource-jndi" value="jdbc/icobDS"></property> </auth-realm>

A

Pessoal,

Estou com um problema bem pareceido com o de vocês, porém estou usando glassfish v.3.0.1. As configurações com Realm estão corretas e aplicação, a principio estão corretas. Porém quando digito login e senha (baseado em FORM) o glassfish apresenta o seguinte erro:
GRAVE: SEC1112: Cannot validate user [teste] for JDBC realm.  
AVISO: Web login failed: Login failed: javax.security.auth.login.LoginException: Security Exception
Parece ser algum problema com o acesso ao banco de dados, mas o mapeamento (na minha visão) está ok. O meu banco possui várias tabelas, mas as que são necessarias para a validação são as seguintes:
-------------------------------------------
                  usuario                             
-------------------------------------------
iduser: Long (PK)
...
loginuser: character varying(50)
senhauser: character varying(50)
...
idgrupo: Long (FK)
-------------------------------------------
e
-------------------------------------------
              grupousuario                             
-------------------------------------------
idgrupo: Long (PK)
nomegrupo: character varying(50) 
-------------------------------------------
e as configurações de realm no glassfish são estas:
Nome da classe: com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm
Contexto do JAAS: jdbcRealm
JNDI: DB2Saude
Tabela de usuários: usuario
Coluna de nomes de usuários: loginuser
Coluna de senhas: senhauser
Tabela de grupos: grupousuario
Coluna de nomes de grupos: nomegrupo

Onde posso estar errando?
Por favor, ajudem-me!

G

Boa tarde amigos,

Comigo tah dando essa zica tambem. =/

Alguém, por gentileza, sabe me dizer se existe alguma restrição (bug) referente à versão do glassfish. Jah ate plantei babaneira aqui e nada. =)

[]'s

G

Realmente, no BD, a senha estava sem o MD5, eu coloquei e, ao menos, mudou o erro:

log file rotation…

SEVERE: SEC1111: Cannot load group for JDBC realm user [admin].

FINE: Cannot load group

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column login in 'where clause’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)

at com.mysql.jdbc.Util.getInstance(Util.java:384)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)

at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:641)

at com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.findGroups(JDBCRealm.java:480)

at com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.authenticate(JDBCRealm.java:312)

at com.sun.enterprise.security.auth.login.JDBCLoginModule.authenticate(JDBCLoginModule.java:72)

at com.sun.enterprise.security.auth.login.PasswordLoginModule.authenticateUser(PasswordLoginModule.java:90)

at com.sun.appserv.security.AppservPasswordLoginModule.login(AppservPasswordLoginModule.java:141)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)

at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)

at javax.security.auth.login.LoginContext.login(LoginContext.java:594)

at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:341)

at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:199)

at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:152)

at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:478)

at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:417)

at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:169)

at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1126)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:580)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:615)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)

at com.sun.grizzly.ContextTask.run(ContextTask.java:69)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)

at java.lang.Thread.run(Thread.java:722)

</blockquote>

[]'s
L

getAdicted:
Realmente, no BD, a senha estava sem o MD5, eu coloquei e, ao menos, mudou o erro:

log file rotation…

SEVERE: SEC1111: Cannot load group for JDBC realm user [admin].

FINE: Cannot load group

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column login in 'where clause’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)

at com.mysql.jdbc.Util.getInstance(Util.java:384)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)

at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:641)

at com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.findGroups(JDBCRealm.java:480)

at com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.authenticate(JDBCRealm.java:312)

at com.sun.enterprise.security.auth.login.JDBCLoginModule.authenticate(JDBCLoginModule.java:72)

at com.sun.enterprise.security.auth.login.PasswordLoginModule.authenticateUser(PasswordLoginModule.java:90)

at com.sun.appserv.security.AppservPasswordLoginModule.login(AppservPasswordLoginModule.java:141)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)

at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)

at javax.security.auth.login.LoginContext.login(LoginContext.java:594)

at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:341)

at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:199)

at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:152)

at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:478)

at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:417)

at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:169)

at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1126)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:580)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:615)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)

at com.sun.grizzly.ContextTask.run(ContextTask.java:69)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)

at java.lang.Thread.run(Thread.java:722)

</blockquote>

[]'s</blockquote>

Posta a sua configuração, aparentemente esse erro é mais tranquilo para resolver.

G

lucasmurata:
getAdicted:
Realmente, no BD, a senha estava sem o MD5, eu coloquei e, ao menos, mudou o erro:

log file rotation…

SEVERE: SEC1111: Cannot load group for JDBC realm user [admin].

FINE: Cannot load group

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column login in 'where clause’

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)

at com.mysql.jdbc.Util.getInstance(Util.java:384)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)

at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:641)

at com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.findGroups(JDBCRealm.java:480)

at com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm.authenticate(JDBCRealm.java:312)

at com.sun.enterprise.security.auth.login.JDBCLoginModule.authenticate(JDBCLoginModule.java:72)

at com.sun.enterprise.security.auth.login.PasswordLoginModule.authenticateUser(PasswordLoginModule.java:90)

at com.sun.appserv.security.AppservPasswordLoginModule.login(AppservPasswordLoginModule.java:141)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)

at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)

at javax.security.auth.login.LoginContext.login(LoginContext.java:594)

at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:341)

at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:199)

at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:152)

at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:478)

at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:417)

at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:169)

at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1126)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:580)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:615)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)

at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)

at com.sun.grizzly.ContextTask.run(ContextTask.java:69)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)

at java.lang.Thread.run(Thread.java:722)

</blockquote>

[]'s</blockquote>

Posta a sua configuração, aparentemente esse erro é mais tranquilo para resolver.

Opa,

Deixa eu soh me situar aqui e jah posto o problema.
[]'s

Criado 31 de agosto de 2011
Ultima resposta 5 de jan. de 2012
Respostas 13
Participantes 6