DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38868>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38868

           Summary: JDBCRealm defined in META-INF/context.xml not recognized
           Product: Tomcat 5
           Version: 5.0.28
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


Defining the Realm in the META-INF/context.xml throws:

Mar 6, 2006 1:03:38 PM org.apache.catalina.realm.JAASRealm authenticate
SEVERE: Unexpected error
java.lang.SecurityException: Unable to locate a login configuration
(... full stack trace below ...)

The EXACT same Realm definition works perfectly when defined inside the Engine
or Host containers in Server.xml.  According to the Tomcat 5.0 Realm
documentation, the Realm can be defined inside the Context container as well.

This is the same error that is generated if no Realm is defined at all. It seems
the Realm definition in META-INF/context.xml is silently ignored.  

Relavent configuration files follow:

META-INF/context.xml (FAILS):

<Context path="/WAdmin">
  
   <Realm
    className="org.apache.catalina.realm.JDBCRealm" 
    debug="99"
    driverName="org.postgresql.Driver"
    connectionURL="jdbc:postgresql://localhost:5432/wikid"
    connectionName="tomcat" 
    connectionPassword="" 
    digest="MD5"
    userTable="tomcat_users" 
    userNameCol="username" 
    userCredCol="password"
    userRoleTable="tomcat_roles" 
    roleNameCol="role"
   />

</Context>

server.xml (WORKS):

<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" redirectPort="8443"/>
    <Connector port="8443" scheme="https" secure="true" >
     <Factory
      keystorePass="passphrase"
      keystoreFile="conf/Keystore"
      clientAuth="false"
      protocol="TLS"
     />
    </Connector>
    <Engine name="Catalina" defaultHost="localhost">
      <Logger className="org.apache.catalina.logger.FileLogger" />
      <Realm
       className="org.apache.catalina.realm.JDBCRealm"
       debug="99"
       driverName="org.postgresql.Driver"
       connectionURL="jdbc:postgresql://localhost:5432/wikid"
       connectionName="tomcat"
       connectionPassword=""
       digest="MD5"
       userTable="tomcat_users"
       userNameCol="username"
       userCredCol="password"
       userRoleTable="tomcat_roles"
       roleNameCol="role"
      /> 
      <Host name="localhost" appBase="webapps" />
    </Engine>
  </Service>
</Server>


Exception: 

Mar 6, 2006 1:03:38 PM org.apache.catalina.realm.JAASRealm authenticate
SEVERE: Unexpected error
java.lang.SecurityException: Unable to locate a login configuration
        at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at java.lang.Class.newInstance0(Class.java:308)
        at java.lang.Class.newInstance(Class.java:261)
        at javax.security.auth.login.Configuration$3.run(Configuration.java:221)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.security.auth.login.Configuration.getConfiguration(Configuration.java:215)
        at javax.security.auth.login.LoginContext$1.run(LoginContext.java:170)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.login.LoginContext.init(LoginContext.java:167)
        at javax.security.auth.login.LoginContext.<init>(LoginContext.java:404)
        at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:298)
        at
org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:229)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:446)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)
Caused by: java.io.IOException: Unable to locate a login configuration
        at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:206)
        at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:95)
        ... 33 more


--Eric

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to