Here's my realm from Tomcat 4.1.x

    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
          driverName="com.mysql.jdbc.Driver"
 
connectionURL="jdbc:mysql://localhost:3306/appfuse?autoReconnect=true"
      connectionName="test" connectionPassword="test"
           userTable="app_user" userNameCol="username"
userCredCol="password"
       userRoleTable="user_role" roleNameCol="role_name" />



-----Original Message-----
From: Jim Lynch [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 19, 2003 2:20 PM
To: Tomcat Users List
Subject: Re: Can <JDBCrealm ... be in META-INF/context.xml file?


Thanks, I'm making progress.  I found samples of three different
versions of the "realm" descriptor. 

<JDBCRealm ...  <realm ... and <Realm

<JDBCRealm and <Realm both behave the same.  When I use them with:
connectionURL="jdbc:mysql://localhost/authority?user=jim&password=jim"
I get an error message upon deployment:
FAIL - Encountered exception java.io.IOException:
org.xml.sax.SAXParseException: The reference to entity "password" must
end with the ';' delimiter.

Adding a ; to the end of the password doesn't help.  However changing it
to:
connectionURL="jdbc:mysql://localhost/authority?user=jim;password=jim"
does fix the problem, however when I attempt to log in, it fails.
There are no entries in the mysql.log file so I'm pretty sure it isn't
actually getting logged in. 

Here is part of the localhost_log.2003-06-19.txt file:

I apologize for the wrap...


2003-06-19 16:02:09 StandardWrapper[/resources:default]: Loading
container servlet default
2003-06-19 16:02:09 StandardWrapper[/resources:invoker]: Loading
container servlet invoker
2003-06-19 16:02:09 StandardContext[/resources]: Starting completed
2003-06-19 16:02:31 Authenticator[/resources]: Security checking request
GET /resources
2003-06-19 16:02:31 Authenticator[/resources]:   Checking constraint
'SecurityConstraint[resources]' against GET  --> true
2003-06-19 16:02:31 Authenticator[/resources]:  Subject to constraint
SecurityConstraint[resources]
2003-06-19 16:02:31 Authenticator[/resources]:  Calling checkUserData()
2003-06-19 16:02:31 Authenticator[/resources]:   User data constraint
has no restrictions
2003-06-19 16:02:31 Authenticator[/resources]:  Calling authenticate()
2003-06-19 16:02:31 Authenticator[/resources]:  Failed authenticate()
test
2003-06-19 16:02:31 Authenticator[/resources]: Security checking request
GET /resources
2003-06-19 16:02:31 Authenticator[/resources]:   Checking constraint
'SecurityConstraint[resources]' against GET  --> true
2003-06-19 16:02:31 Authenticator[/resources]:  Subject to constraint
SecurityConstraint[resources]
2003-06-19 16:02:31 Authenticator[/resources]:  Calling checkUserData()
2003-06-19 16:02:31 Authenticator[/resources]:   User data constraint
has no restrictions
2003-06-19 16:02:31 Authenticator[/resources]:  Calling authenticate()
2003-06-19 16:02:31 Authenticator[/resources]:  Failed authenticate()
test
2003-06-19 16:02:33 Authenticator[/resources]: Security checking request
GET /resources
2003-06-19 16:02:33 Authenticator[/resources]:   Checking constraint
'SecurityConstraint[resources]' against GET  --> true
2003-06-19 16:02:33 Authenticator[/resources]:  Subject to constraint
SecurityConstraint[resources]
2003-06-19 16:02:33 Authenticator[/resources]:  Calling checkUserData()
2003-06-19 16:02:33 Authenticator[/resources]:   User data constraint
has no restrictions
2003-06-19 16:02:33 Authenticator[/resources]:  Calling authenticate()
2003-06-19 16:02:33 Authenticator[/resources]:  Failed authenticate()
test




I can't find anything in the log as a result of the debug setting in the
<realm .  Here's my whole context.xml file:

<Context className="org.apache.catalina.core.StandardContext"     
cachingAllowed="true"     
charsetMapperClass="org.apache.catalina.util.CharsetMapper" 
      cookies="true" crossContext="false" debug="9" 
      displayName="resources"     
docBase="/usr/local/jakarta-tomcat-4.1.24/webapps/resources"     
mapperClass="org.apache.catalina.core.StandardContextMapper" 
     path="/resources" privileged="false" reloadable="false" 
      swallowOutput="false" useNaming="true"     
wrapperClass="org.apache.catalina.core.StandardWrapper">

     <JDBCRealm classname="org.apache.catalina.realm.JDBCRealm"
debug="9"          driverName="org.gjt.mm.mysql.Driver" 
     
connectionURL="jdbc:mysql://localhost/authority?user=jim&password=jim" 
         userTable="users"
         userNameCol="user_name"
        userCredCol="user_pass"
         userRoleTable="user_roles" roleNameCol="role_name" /> 
        </Context>

Anyone see what might be wrong?


I've logged into the mysql database with the user/pw and accessed the
tables so I'm sure that is working.  Besides, if he attempted to log in,
it would show up in the mysql.log.  The application I'm trying to
protect is accessing mysql fine, so I know the .jar file is working.

THanks,
Jim.

"Shapira, Yoav" wrote:
> 
> Howdy,
> As the Realm configuration document says:
> 
> "You may nest a Realm inside any Catalina container Engine, Host, or
> Context). In addition, Realms associated with an Engine or a Host are
> automatically inherited by lower-level containers, unless explicitly
> overridden."
> 
> So yes to your first (subject line) question.
> 
> >Next question.  Once I've got it there, what do I have to do to
> >1.  For a login for the app.
> >2.  After the user has logged in, how do I get his role?
>

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

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

Reply via email to