> "Caldarale, Charles R" <chuck.caldar...@unisys.com> wrote in message

> > In order to secure and clean things up a little, I would like to
> > move my JNDIRealm definition to a global resource and use it within
> > my context
>
> Sounds like you're confusing two separate and distinct facilities of 
> Tomcat.
> Any <Realm> is for Tomcat's use only, not for use by the webapp.  Any
> <Resource> is for the webapp's use, although Tomcat may manage 
> appropriately
> configured ones on behalf of the webapp.
>
> If this particular <Realm> controls access only to this one webapp, then
> its proper location is within the <Context> element of that webapp.  Any
> wider scope (such as <Host>) will cause the <Realm> to be used for all
> webapps of that <Host>.
>
> What do you actually want to achieve?

Well, it was more a question of security, to a certain degree.  If I want to 
make a JNDI resource available only on a per-context basis, but do not want 
the webapp developer to have access to the parameters of the resource, I can 
define a global resource and just link to it in the context.xml file. 
However, I can't do that for the realm.  So either I need to declare the 
realm at a host or engine level which would then apply to all contexts that 
don't override it, or declare it in the webapp context.xml file itself, 
which is accessible (and hence potentially modifiable) by the developers of 
the webapp.

It isn't really a big deal/failure.  It just would have been nice to be able 
to segregate the admin portion of the definition to the declaration.

For instance, with JNDI dbcp resource pools, you can declare the resource 
globally, link to it in the context, and have Tomcat do all the resource 
pooling for you.  I somewhat expected the realms to follow the same 
logic/behaviour.

Thanks,

Eric




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

Reply via email to