You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Markus Hanecke (JIRA)" <de...@geronimo.apache.org> on 2006/09/29 11:02:50 UTC

[jira] Created: (GERONIMO-2446) Creating sql security realm fails in Geronimo 1.1.1

Creating sql security realm fails in Geronimo 1.1.1
---------------------------------------------------

                 Key: GERONIMO-2446
                 URL: http://issues.apache.org/jira/browse/GERONIMO-2446
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: security
    Affects Versions: 1.1.1
         Environment: Geronimo 1.1.1 Jetty version with  J2SDK 1.4.1_11 running von Windows 2003 Server
            Reporter: Markus Hanecke


In opposite to Geronimo 1.0 it is not possible to create an SQL-based security realm in Geronimo 1.1.1

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, which means you will always get "login failed"



-- 
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

        

[jira] Commented: (GERONIMO-2446) Creating sql security realm fails in Geronimo 1.1.1

Posted by "David Jencks (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560304#action_12560304 ] 

David Jencks commented on GERONIMO-2446:
----------------------------------------

At some point I added some code to try to avoid the jdbc classloader weirdness.... I wonder if that code fixed this problem?

> Creating sql security realm fails in Geronimo 1.1.1
> ---------------------------------------------------
>
>                 Key: GERONIMO-2446
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2446
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: security
>    Affects Versions: 1.1.1
>         Environment: Geronimo 1.1.1 Jetty version with  J2SDK 1.4.1_11 running von Windows 2003 Server
>            Reporter: Markus Hanecke
>
> In opposite to Geronimo 1.0 it is not possible to create an SQL-based security realm in Geronimo 1.1.1
> 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, which means you will always get "login failed"

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2446) Creating sql security realm fails in Geronimo 1.1.1

Posted by "Vamsavardhana Reddy (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2446?page=comments#action_12451137 ] 
            
Vamsavardhana Reddy commented on GERONIMO-2446:
-----------------------------------------------

I think the problem is since testdb is already running in the Derby Network server, derby emdedded server is unable to load the database.  To verify this, after Step 2, restart G  then try Step 3 (Note: qualify the table names with schema name APP) and test login works fine.

> Creating sql security realm fails in Geronimo 1.1.1
> ---------------------------------------------------
>
>                 Key: GERONIMO-2446
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2446
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: security
>    Affects Versions: 1.1.1
>         Environment: Geronimo 1.1.1 Jetty version with  J2SDK 1.4.1_11 running von Windows 2003 Server
>            Reporter: Markus Hanecke
>
> In opposite to Geronimo 1.0 it is not possible to create an SQL-based security realm in Geronimo 1.1.1
> 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, which means you will always get "login failed"

-- 
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

        

[jira] Commented: (GERONIMO-2446) Creating sql security realm fails in Geronimo 1.1.1

Posted by "Vamsavardhana Reddy (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2446?page=comments#action_12451140 ] 
            
Vamsavardhana Reddy commented on GERONIMO-2446:
-----------------------------------------------

On further investigation, it is not true that the testdb is running in Derby Network server.  But the root cause of this JIRA is testdb getting loaded (and so locked) elsewhere.  After successfully completing the steps 1 to 3 above, trying to view contents of testdb in the Database Manager portlet is resulting in portlet exceptions.

> Creating sql security realm fails in Geronimo 1.1.1
> ---------------------------------------------------
>
>                 Key: GERONIMO-2446
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2446
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: security
>    Affects Versions: 1.1.1
>         Environment: Geronimo 1.1.1 Jetty version with  J2SDK 1.4.1_11 running von Windows 2003 Server
>            Reporter: Markus Hanecke
>
> In opposite to Geronimo 1.0 it is not possible to create an SQL-based security realm in Geronimo 1.1.1
> 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, which means you will always get "login failed"

-- 
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

        

[jira] Closed: (GERONIMO-2446) Creating sql security realm fails in Geronimo 1.1.1

Posted by "David Jencks (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Jencks closed GERONIMO-2446.
----------------------------------

    Resolution: Fixed

No complaints recently.

> Creating sql security realm fails in Geronimo 1.1.1
> ---------------------------------------------------
>
>                 Key: GERONIMO-2446
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2446
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: security
>    Affects Versions: 1.1.1
>         Environment: Geronimo 1.1.1 Jetty version with  J2SDK 1.4.1_11 running von Windows 2003 Server
>            Reporter: Markus Hanecke
>
> In opposite to Geronimo 1.0 it is not possible to create an SQL-based security realm in Geronimo 1.1.1
> 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, which means you will always get "login failed"

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2446) Creating sql security realm fails in Geronimo 1.1.1

Posted by "Vamsavardhana Reddy (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-2446?page=comments#action_12449428 ] 
            
Vamsavardhana Reddy commented on GERONIMO-2446:
-----------------------------------------------

I could recreate the error from the steps given.

> Creating sql security realm fails in Geronimo 1.1.1
> ---------------------------------------------------
>
>                 Key: GERONIMO-2446
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2446
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: security
>    Affects Versions: 1.1.1
>         Environment: Geronimo 1.1.1 Jetty version with  J2SDK 1.4.1_11 running von Windows 2003 Server
>            Reporter: Markus Hanecke
>
> In opposite to Geronimo 1.0 it is not possible to create an SQL-based security realm in Geronimo 1.1.1
> 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, which means you will always get "login failed"

-- 
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