[ 
https://issues.apache.org/jira/browse/SLING-2623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13588580#comment-13588580
 ] 

Justin Edelson commented on SLING-2623:
---------------------------------------

As a follow up to this issue, we should probably deprecate LoginModulePlugin, 
although I unfortunately think we need to continue to support it in the near 
term.
                
> Simplifying usage of JAAS based authentication with Repository in OSGi
> ----------------------------------------------------------------------
>
>                 Key: SLING-2623
>                 URL: https://issues.apache.org/jira/browse/SLING-2623
>             Project: Sling
>          Issue Type: New Feature
>          Components: JCR
>            Reporter: Chetan Mehrotra
>         Attachments: 
> org.apache.sling.jcr.jackrabbit.base-0.0.1-SNAPSHOT-src.tar.gz, 
> SLING-2623.patch, SLING-2623-svn-compat.diff
>
>
> Currently Sling uses LoginModulePlugin to provide pluggable authentication 
> support. I have been working on a poc to enable similar pluggable support 
> based on JAAS. Complete details are provided at [1]. This work consisted of 
> two parts
> 1. Simplify usage of JAAS in OSGi env - This is currently being 
> discussed/implemented as a new bundle in Apache Felix. Refer to FELIX-3705 [2]
> 2. Modify Sling to make use of new JAAS support - This is implemented in 
> Sling fork at [3]. Details about changes required in Sling are provide below
> This issue is created to capture the overall details. If required separate 
> issues can be created to implement specific parts. All changes can be seen at 
> [3]. Kindly provide your feedback/comments on the proposed approach :)
> Feature Details
> ===========
> A - New org.apache.sling.jcr.jackrabbit.base bundle
> ------------
> A new jar/bundle is added which provide some common classes which simplify 
> Jackrabbit integration in OSGi env. Currently it provides two features
> * DelegatingLoginModule - This LoginModule acts as a bridge between OSGi and 
> JR layer. It is based on Approach B explained in [1]
> * PrincipalProviderTracker - It is used to provide an OSGi based 
> PrincipalProviderRegistry which follows the whiteboard pattern to collect 
> PrincipalProviders
> B - Changes in Jackrabbit Server bundle
> ------------
> The Jackrabbit server bundle has been modified to make use of the new features
> * Repository config is modified to
>  ** Use the DelegatingLoginModule
>  ** Use the OsgiAwareSecurityManager which uses the OSGi based 
> PrincipalProviderRegistry
> * SlingDefaultLoginModule - A new module is exposed as part of this bundle's 
> API. Any other bundle which earlier implemented the LoginModulePlugin can 
> extend this login module and integrate with Sling Repository authentication
> * pom.xml - It has been modified to expose the supported LoginModules and 
> certain security related packages 
> C - Changes in Form authentication bundle
> ------------
> The Form authentication bundle has been modified to regsiter a 
> LoginModuleFactory. This uses the new approach to provide LoginModules as 
> explained at [2],[4]
> "Changes in Sling" section of [1] provides more details on the changes done
> [1] https://github.com/chetanmeh/c/wiki/Jaas-in-OSGi-with-Jackrabbit-and-Sling
> [2] https://issues.apache.org/jira/browse/FELIX-3705
> [3] https://github.com/chetanmeh/sling/compare/jaas-osgi-adv
> [4] https://github.com/chetanmeh/c/wiki/JAAS-in-OSGi

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to