Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-2083

Geode should call Declarable.init() when the SecurityManager component implements Declarable.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.0.0-incubating
    • None
    • security

    Description

      Though, going forward (i.e. post 1.0.0-incubating), there will be multiple ways to configure Apache Geode's SecurityManager implementation in effect, for instance, and most notably, GEODE-2030, in addition to the Geode security-manager (System) property, it would be highly valuable if Apache Geode called Declarable.init() on the custom, application-specific, Geode-based SecurityManager implementation providing the custom, application-specific, Geode-based SecurityManager implementation implemented the Geode Declarable interface.

      This would be especially beneficial in situations where any post-construction initialization logic needed to be invoked after the constructor, particularly where the custom SecurityManager *this* reference needs to be accessed by other classes/components in the init() method outside the SecurityManager instance, which if done from/within a constructor during construction would allow the *this* reference to escape (not good in a multi-threaded environment).

      This is also useful in situations where the GemFire security-manager (System) property is still being used, as I suspect will be the case in some situations/environments.

      Tracing this through, the IntegratedSecurityService delegates to the SecurityService.getObjectOfTypeFromClass(..) method. This method (along with similar supporting methods) could Introspect the class type and determine whether the custom, application-specific, Geode-based SecurityManager implementation implements the Declarable interface, invoking the init() method before returning, if it does.

      Attachments

        Issue Links

          Activity

            People

              jinmeiliao Jinmei Liao
              jblum John Blum
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: