JDBCRealm alternatives... is there a Cayenne Realm around I could use?

From: Eric Lazarus (ericllazaru..ahoo.com)
Date: Fri Sep 08 2006 - 10:18:37 EDT

  • Next message: Jeff de Vries: "Re: JDBCRealm alternatives... is there a Cayenne Realm around I could use?"

    Hi, Folks

    Up until now we have been using the memory realm to control user access to our main application.

    The numbers of users is going to go up so we need to keep that info somewhere and in the database seems like a good place.

    We are having some difficulty configuring a JDBCRealm, getting the error you see at the bottom of this email but it occurs to me:

    All our other database access is via cayenne. Should I be doing something more cayenne-ish rather than using the JDBCRealm?

    Thanks!

    Eric

    = = = = = = = = =

    Still having trouble connecting through tomcat's JDBC REALM.

    I am trying to use the tomcat JDBC REALM for user log-in.
    Here is the relevent portion of my server.xml file:

    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
          driverName="org.postgresql.Driver"
       
    connectionURL="jdbc:postgres://localhost/PAX_2005?user=paxlogin&amp;password=paxlogin"
            serTable="loginuser" userNameCol="emailaddress"
    userCredCol="password"
       userRoleTable="loginrole" roleNameCol="role" />

    HERE 'loginuser' and 'loginrole' are views in my postgres database.
    They are UNION queries that combine 3 tables of possible users,
    and distinguish them with different roles.

    'paxlogin' is a user in this database who has 'select' privileges
    on these two views, and no other previleges.

    When I start tomcat, I get the following output, which essentially
    says that tomcat got an SQL Exception when it tired to connect.

    I would probably be able to solve this easier if I could see the
    text of the SQLException that is the 'root cause' of the error.

    Is this an authentication failure on the paxlogin user ?
    Is somthing wrong with the Views, or the privileges ?

    Using CATALINA_BASE: /home/pax/2005/tomcat-base
    Using CATALINA_HOME: /usr/local/tomcat/4.0.6
    Using CATALINA_TMPDIR: /home/pax/2005/tomcat-base/temp
    Using JAVA_HOME: /usr/local/java/j2sdk1.4.2_06
    Starting service Tomcat-Standalone
    Apache Tomcat/4.0.6
    Catalina.start: LifecycleException: Exception opening database
    connection:
    java.sql.SQLException: org.postgresql.Driver
    LifecycleException: Exception opening database connection:
    java.sql.SQLException: org.postgresql.Driver
        at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:615)
        at
    org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1108)
        at
    org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
        at
    org.apache.catalina.core.StandardService.start(StandardService.java:388)
        at
    org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
    ----- Root Cause -----
    java.sql.SQLException: org.postgresql.Driver
        at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:538)
        at org.apache.catalina.realm.JDBCRealm.start(JDBCRealm.java:613)
        at
    org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1108)
        at
    org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
        at
    org.apache.catalina.core.StandardService.start(StandardService.java:388)
        at
    org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)

    Eric
    +1 (917) 589-6579
                     
    ---------------------------------
    Why keep checking for Mail? The all-new Yahoo! Mail shows you when there are new messages.



    This archive was generated by hypermail 2.0.0 : Fri Sep 08 2006 - 10:19:04 EDT