geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lasantha Ranaweera <lasan...@opensource.lk>
Subject Re: Creating SQL security realm fails in 1.1.1
Date Tue, 03 Oct 2006 04:38:19 GMT
Hi Markus,

Yeah I have seen this problem in several times with Derby database in 
Windows environment. I couldn't produce this problem in a Linux 
environment. This happens when try to access the DB pool as soon as it 
deployed. If you restart the server and do the testing it will work. 
This might be a problem in Derby database class loading according to 
David Jenks. Have a look at,

http://www.mail-archive.com/user@geronimo.apache.org/msg03881.html

It did work for me sometime back. :-)

Thanks,
Lasantha Ranaweera

mahu2425 wrote:
> Hi,
>
> I tried to create an SQL security realm in Geronimo 1.1.1 using the wizard, but in opposite
to Geronimo 1.0 it fails. Maybe this might be a bug
>
> In the last step where I can test the new ream I'll always get the result "Login failed".
The logfile (geronimo.log) says:
>
>
> 07:33:15,193 WARN  [SecurityRealmPortlet] Testing with options {dataSourceName=testpool,
dataSourceApplication=null, org.apache.geronimo.security.realm.GenericSecurityRealm.CLASSLOADER=[org.apache.geronimo.kernel.classloader.JarFileClassLoader
id=geronimo/webconsole-jetty_standard.war/1.1.1/car], groupSelect=select userid, groupname
from groups where userid=?, userSelect=select userid, password from users where userid=?}
> 07:34:19,159 WARN  [SecurityRealmPortlet] Test login failed
> javax.security.auth.login.LoginException: SQL error
> 	at org.apache.geronimo.security.realm.providers.SQLLoginModule.login(SQLLoginModule.java:238)
> 	at org.apache.geronimo.console.util.KernelManagementHelper.testLoginModule(KernelManagementHelper.java:414)
> 	at org.apache.geronimo.console.util.PortletManager.testLoginModule(PortletManager.java:159)
> 	at org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.actionAttemptLogin(SecurityRealmPortlet.java:316)
> 	at org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.processAction(SecurityRealmPortlet.java:200)
> 	at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:229)
> 	at org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:158)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> 	at org.apache.pluto.core.PortletServlet.service(PortletServlet.java:153)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> 	at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:104)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 	at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 	at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:59)
> 	at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> 	at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> 	at org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:120)
> 	at org.apache.pluto.invoker.impl.PortletInvokerImpl.action(PortletInvokerImpl.java:68)
> 	at org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContainerImpl.java:164)
> 	at org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.processPortletAction(PortletContainerWrapperImpl.java:82)
> 	at org.apache.pluto.portalImpl.Servlet.doGet(Servlet.java:227)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> 	at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:104)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 	at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 	at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:59)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> Caused by: SQL Exception: Failed to start database 'testdb', see the next exception for
details.
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> 	at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> 	at org.apache.derby.jdbc.EmbeddedDriver.connect(Unknown Source)
> 	at org.tranql.connector.jdbc.JDBCDriverMCF.getPhysicalConnection(JDBCDriverMCF.java:96)
> 	at org.tranql.connector.jdbc.JDBCDriverMCF.createManagedConnection(JDBCDriverMCF.java:73)
> 	at org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getConnection(MCFConnectionInterceptor.java:41)
> 	at org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInterceptor.getConnection(LocalXAResourceInsertionInterceptor.java:41)
> 	at org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor.internalGetConnection(SinglePoolConnectionInterceptor.java:63)
> 	at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:73)
> 	at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:47)
> 	at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:86)
> 	at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)
> 	at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)
> 	at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)
> 	at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:61)
> 	at org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)
> 	at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke(<generated>)
> 	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> 	at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept(ConnectorMethodInterceptor.java:54)
> 	at $javax.sql.DataSource$$EnhancerByCGLIB$$2a52535c.getConnection(<generated>)
> 	at org.apache.geronimo.security.realm.providers.SQLLoginModule.login(SQLLoginModule.java:175)
> 	... 43 more
>
>
>
>
> I created the security realm in the following way (to reproduce the error):
>
> 1. Create a new database called testdb, create and fill tables for users
> and groups.
> SQL statements:
>
> create table users (
> userid varchar(15) primary key,
> password varchar(15),
> username varchar(20)
> );
> create table groups (
> userid varchar(15),
> groupname varchar(20),
> primary key (userid, groupname)
> );
> insert into users values ('admin', 'password', 'Administrator');
> insert into groups values ('admin', 'AdminGroup');
>
>
> 2. Create Database pool (Database Pools -> Using the Geronimo database pool
> wizard)
>
> Step 1
> - Name: testpool
> - Database type: Derby embedded
> Step 2:
> - JDBC Driver (pre defined value): org.apache.derby.jdbc.EmbeddedDriver
> - Driver JAR: org.apache.derby/derby/10.1.1.0/jar
> - Database: testdb
> Step 3:
> JDBC connect url (pre defined): jdbc:derby:testdb
>
>
>
> 3. Create Security Realm (Security Realms -> Add new security realm)
> Step 1:
> - Name of realm: testrealm
> - Realm type: Database (SQL) Realm
> Step 2:
> - User select SQL: select userid, password from users where userid=?
> - Group select: select userid, groupname from groups where userid=?
> - Database pool: testpool
> Step 3:
> - Leave all unchecked an press "Test a login"
>
>
> You'll get the error after entering username and password..
>
> Has anybody an idea what's going wrong? I had a similar problem in Geronimo 1.1 which
was a bug. But JIRA says it should be fixed in 1.1.1.
>
>
> Best regards,
>
> Markus
>
> Stelle Deine Fragen bei Lycos iQ -  http://iq.lycos.de/qa/ask/


Mime
View raw message