angela created SLING-5795:
-----------------------------

             Summary: Allow for adding/removing individual 
AuthenticationRequirementHolder entries
                 Key: SLING-5795
                 URL: https://issues.apache.org/jira/browse/SLING-5795
             Project: Sling
          Issue Type: Sub-task
          Components: Authentication
            Reporter: angela


Today the {{SlingAuthenticator}} comes with a 
{{SlingAuthenticatorServiceListener}}, that listens for all services that are 
registered with an {{AuthConstants.AUTH_REQUIREMENTS}} property. This allows 
for arbitrary services to extend the list of authentication requirements 
originally intended to be configured with the {{SlingAuthenticatior}}.

The implementation consequently requires those services to provide their full 
list of auth-requirements: this not only forces the services to recompute that 
information but also forces the {{SlingAuthenticatorServiceListener}} to 
process the whole information upon every single change (see 
{{SlingAuthenticatorServiceListener.addService}} and 
{{SlingAuthenticatorServiceListener.removeService}}, which also includes an 
update of the {{PathBasedHolderCache}}.

At a Adobe we make use of this ability in a service that may contain several 
thousand requirement entries which in addition are prone to frequent changes, 
which IMO is not super-optimal with the implementation at hand.
This assessment is not yet backed with decent performance testing, but based on 
what I found while trying to rewrite that particular service to address known 
issues.

To summarize: What I have been looking for was the ability to inform the 
listener about a single entry that would need to be added or removed from the 
list of auth-requirements collected (and registered) by my service, without 
having to compute (or cache) the complete list and without having all items 
associated with my service being processed over and over again.

Maybe envisioning SLING-5792 would offer the opportunity to also reconsider 
this wish.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to