> From: Jane Muse [mailto:jm...@rocketsoftware.com] 
> Subject: RE: Class cast exception when starting tomcat 7.0.1

> I had catalina.jar in WEB-INF/lib.

Very, very bad move.

> It's needed because we have an implementation of Realm to store an 
> encrypted tomcat password users enter in the webapp.

Your custom implementation of Realm should be in Tomcat's lib directory, not 
the webapp's.  See:
http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#What_is_a_Realm?

Such a Realm should not be tied into the operation of any webapp, other than 
configuring the webapp to use it.

> If I remove it and add the catalina.jar from tomcat_home/lib to the 
> classpath

Not sure what you mean by adding it to the classpath; please explain.

> I have to change the signature from 
> org.apache.catalina.realm.RealmBase.Digest(String, String) to 
> org.apache.catalina.realm.RealmBase.Digest(String, String, String).

That's because internal Tomcat APIs often change between levels.  You certainly 
cannot count on using an older version of Realm with a newer Tomcat (or vice 
versa).

> Should I not be writing code that needs classes from catalina.jar?

It would certainly be desirable not to be dependent on internal Tomcat classes. 
 Why do you think a Realm should be storing a password (encrypted or not) 
anywhere?  A Realm would normally be reading a password from some controlled 
storage, not writing to it.
 
 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to