geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Markus Hanecke (JIRA)" <...@geronimo.apache.org>
Subject [jira] Created: (GERONIMO-2164) Creating SQL- based security realm fails
Date Tue, 04 Jul 2006 05:32:33 GMT
Creating SQL- based security realm fails
----------------------------------------

         Key: GERONIMO-2164
         URL: http://issues.apache.org/jira/browse/GERONIMO-2164
     Project: Geronimo
        Type: Bug
    Security: public (Regular issues) 
  Components: console  
    Versions: 1.1    
 Environment: Geronimo 1.1, Jetty version, running on Sun Java 1.4.2_08
    Reporter: Markus Hanecke


It's not possible to create an SQL-based security realm using the console in Geronimo 1.1.

Error shown in console:
Error: Error: Unable to initialize LoginModule: Unable to load, instantiate, register driver
null: null


Error written to Geronimo logfile:

09:49:15,142 ERROR [SecurityRealmPortlet] Unable to parse ObjectName
javax.management.MalformedObjectNameException: Missing ':' character in 
ObjectName
        at javax.management.ObjectName.parseDomain(ObjectName.java:417)
        at javax.management.ObjectName.parse(ObjectName.java:385)
        at javax.management.ObjectName.<init>(ObjectName.java:76)
        at javax.management.ObjectName.getInstance(ObjectName.java:261)
        at 
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet$RealmData.load(SecurityRealmPortlet.java:775)
        at 
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.processAction(SecurityRealmPortlet.java:167)
        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:97)
        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:58)
        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:97)
        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:58)
        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)
09:49:15,142 WARN  [SecurityRealmPortlet] Testing with options 
{org.apache.geronimo.security.realm.GenericSecurityRealm.CLASSLOADER=[org.apache.geronimo.kernel.classloader.JarFileClassLoader
 id=geronimo/webconsole-jetty_standard.war/1.1/car], groupSelect=select userid, 
groupname from groups where userid=?, userSelect=select userid, password from 
users where userid=?}
09:49:15,142 WARN  [SecurityRealmPortlet] Unable to initialize LoginModule
java.lang.IllegalArgumentException: Unable to load, instantiate, register 
driver null: null
        at 
org.apache.geronimo.security.realm.providers.SQLLoginModule.initialize(SQLLoginModule.java:145)
        at 
org.apache.geronimo.console.util.KernelManagementHelper.testLoginModule(KernelManagementHelper.java:389)
        at 
org.apache.geronimo.console.util.PortletManager.testLoginModule(PortletManager.java:154)
        at 
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.actionTestLoginModuleLoad(SecurityRealmPortlet.java:265)
        at 
org.apache.geronimo.console.securitymanager.realm.SecurityRealmPortlet.processAction(SecurityRealmPortlet.java:183)
        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:97)
        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:58)
        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:97)
        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:58)
        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)




Steps to reproduce the error on a fresh Geronimo 1.1 installation (tested with Jetty version):

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
- User select SQL: select userid, password from users where userid=?
- Group select: select userid, groupname from groups where userid=?
- Database pool: testpool


--> Clicking "Next" produces the error.






-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message