Thanks for the detail.

As a final note and in case you are not already doing this, I have found the 
<scope>provided</scope> element in <dependency/> useful under similar 
circumstances when building a war. This prevents bundling of dependencies 
provided by the container such as catalina, servlet, etc.

Regards,
Oliver



-----Original Message-----
From: users-return-242264-OLIVER.TANGLIN=saic....@tomcat.apache.org on behalf 
of Tobias Gierke
Sent: Wed 6/12/2013 5:17 AM
To: users@tomcat.apache.org
Subject: Re: Possible to expose a Tomcat Realm instance through JNDI ?
 
Hi,
> Thanks for posting your results.
>
> But I am thinking now that this may lead to a portability issue. Push to a 
> container other than Tomcat and 'org.apache.catalina.User' will not be 
> available on the classpath.
Yes, this is a portability issue. But to be honest, changing (assuming a 
reasonably big application) to a different Application server is almost 
as unlikely as migrating to a different database vendor. At least in the 
last 15 years I've never seen this happen ... YMMV though ;)
>
> Also, during development you are forced to include catalina as a dependency 
> to compile. Or are you somehow using reflection?
Yes, I'm depending on the Tomcat API. We already had it as a dependency 
in a different sub-module because we're using a custom Realm 
implementation. Since it's a Maven build I only need to update the 
version number in the parent POM.xml when upgrading the Tomcat, so not 
much of a hassle there.

Cheers,
Tobias
>
> Oliver
>
>
>
> -----Original Message-----
> From: users-return-242261-OLIVER.TANGLIN=saic....@tomcat.apache.org on behalf 
> of Tobias Gierke
> Sent: Wed 6/12/2013 2:12 AM
> To: users@tomcat.apache.org
> Subject: Re: Possible to expose a Tomcat Realm instance through JNDI ?
>   
> Hi Oliver,
>> I think I now understand your issue. I was faced with a similar problem and 
>> could not figure out how to get the roles of an authenticated user through 
>> the servlet API.
>>
>> It seems to only allow the question 'request.isUserInRole(role)'. But does 
>> not seem to provide a way to get a list of roles that the user is in.
>>
>> I used a kludge whereby I defined the valid roles in a context init 
>> parameter (bad duplication of effort). Then used 
>> 'request.isUserInRole(role)'. I did not think to cast the 
>> 'request.getUserPrincipal()' return value.
>>
>> Please post if your methodology works.
>>
>> Oliver
>>
> I ended up using WebserviceContext#getUserPrincipal() and downcasting it
> to org.apache.catalina.User ; should probably also work with the plain
> HttpServletRequest since WebserviceContext is just a wrapper.
>
> Cheers,
> Tobias
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org


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

Reply via email to