[ https://issues.apache.org/jira/browse/JCR-3222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13194180#comment-13194180 ]
Jukka Zitting commented on JCR-3222: ------------------------------------ I considered the OSGi whiteboard pattern for this, but it doesn't work for the Sling davex bundle. The Sling authentication code needs to be able to take over the entire processing of a request instead of just servicing a getSession() call. Thus a Sling component that interacts with the default Jackrabbit davex servlet in any case needs to be set up as a servlet filter (or a subclass like it currently is). Therefore passing the appropriate SessionProvider as a request attribute is IMHO a much more straightforward solution. And it works nicely also in non-OSGi deployments. > Allow servlet filters to specify custom session providers > --------------------------------------------------------- > > Key: JCR-3222 > URL: https://issues.apache.org/jira/browse/JCR-3222 > Project: Jackrabbit Content Repository > Issue Type: Improvement > Components: jackrabbit-jcr-server > Reporter: Jukka Zitting > Priority: Minor > Attachments: JCR-3222-fmeschbe.patch, > jackrabbit-jcr-server-2.6-SNAPSHOT.jar > > > In order to integrate the Jackrabbit davex server functionality with their > custom authentication logic, the Sling project currently needs to embed and > subclass the davex servlet classes. It would be cleaner if such tight > coupling wasn't needed. > One way to achieve something like that would be to allow external components > to provide a custom SessionProvider instance as an extra request attribute. > This way for example a servlet filter that implements such custom > authentication logic could easily make its functionality available to the > standard davex servlet in Jackrabbit. -- 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