[ 
https://issues.apache.org/jira/browse/GERONIMO-5626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Jencks resolved GERONIMO-5626.
------------------------------------

    Resolution: Fixed

See also tomcat bugzilla 50015 and 50016
                
> Improvements in tomcat security contracts
> -----------------------------------------
>
>                 Key: GERONIMO-5626
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-5626
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: Tomcat
>    Affects Versions: 3.0
>            Reporter: David Jencks
>            Assignee: David Jencks
>             Fix For: 3.0
>
>
> I have some problems with some internal tomcat security arrangements.  I'm 
> going to work in our tomcat copy first and when I'm satsified with the 
> changes suggest them to tomcat.
> There are 2 similar problems that have a bad division of responsibility.
> 1. Request.isUserInRole tries to prevent jacc implementations and is also 
> wrong.
> In the current tomcat implementation, role-ref mappings are first applied to 
> the supplied role and then the target role is tested.  If the user is not in 
> the mapped role the original role is tested.  However,
> (a). jacc requires that this be implemented by constructing a role-ref 
> permission with the current servlet name and the _supplied_ (not mapped) 
> role.  So to be reasonably amenable to a jacc implementation 
> Request.isUserInRole should supply the _original_ role and if possible the 
> servlet name.  
> (b) if there is a mapping, only the mapped role should be checked.  Aside 
> from the spec language, consider a web app with two roles A and B and a 
> servlet S that maps A to B and B to A.  A user that logs in and is in role A 
> and not B should be able to test in S
> is in A >> false
> is in B >> true
> The current implementation reports true for both A and B.
> 2.  The implementation of the new login and logout methods are excessively 
> intrusive into the internals of the authentication.  Both should be delegated 
> directly to the Authenticator.  In particular, checking which known 
> Authenticator is installed to see if it supports user/pw login is overly 
> restrictive since other authenticators might be installed.  Also any caching 
> of the results certainly doesn't belong in the Request.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to