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

Andrew Jaquith closed JSPWIKI-473.
----------------------------------

    Assignee: Andrew Jaquith

Closing this issue; our unit tests check to make sure this works as it should.

If, after additional testing, Steve determines that this fix has not solved his 
issue, we will re-open... assuming the root cause isn't something else.

> Authorizers not consulted at login
> ----------------------------------
>
>                 Key: JSPWIKI-473
>                 URL: https://issues.apache.org/jira/browse/JSPWIKI-473
>             Project: JSPWiki
>          Issue Type: Bug
>          Components: Authentication&Authorization
>    Affects Versions: 2.8, 2.8.1
>         Environment: All
>            Reporter: Andrew Jaquith
>            Assignee: Andrew Jaquith
>             Fix For: 2.8.2, 3.0
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> From the jspwiki-dev list:
> Steve Dahl wrote:
> Under JSPWiki 2.6.4, we've replaced WebContainerAuthorizer with an 
> LDAPAuthorizer which implements JSPWiki roles in terms of LDAP groups.
> When I compile this for JSPWiki 2.8.0, and modify the jspwiki.properties file 
> to use it, our custom LDAPAuthorizer gets initialized, and is sent 
> findRole(), but it never seems to get sent isUserInRole().
> If it's useful information, LDAPAuthorizer implements Authorizer (not 
> WebAuthorizer), and it implements isUserInRole() with this signature:
> public boolean isUserInRole( WikiSession session, Principal role )
> Is there anything that has changed in Authorizers between 2.6.4 and 2.8.0 
> that might explain this?
> Looking deeper, it seems that in JSPWiki 2.6.X, WikiSession implemented 
> injectRolePrincipals(), which initialized the session with whatever groups 
> and roles the user belongs to. Groups are read from the group database, and 
> Roles are read from the Authorizer.
> In JSPWiki 2.8.X, injectRolePrincipals() has been replaced by 
> injectGroupPrincipals(), which reads groups from the group database but 
> doesn't use the Authorizer. What is the Authorizer used for now?
> As a side note, I originally implemented LDAPAuthorizer as LDAPGroupDatabase. 
> I ended up rejecting this approach because GroupManager assumes that the 
> members of a Group can be read once when the Wiki is started, and that the 
> Group's membership will only be modified by the Wiki. The problem with LDAP 
> is that the group membership can be modified from outside, and the only way 
> to update the wiki would be to manually restart it. The Authorizer was a 
> better solution for our purposes, because if a user was added to the LDAP 
> group, the Authorizer would reflect that change as soon as the user logged 
> out and back in. Restarting the wiki is not necessary.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to