Uploaded image for project: 'Shiro'
  1. Shiro
  2. SHIRO-217

Create JndiObjectFactory to allow JNDI object acquisition during configuration

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0
    • Configuration
    • None

    Description

      During configuration, it would be nice to acquire objects from JNDI and use the returned objects as properties on other configured objects (e.g. in INI config).

      There is a JndiRealmFactory that already supports looking up entire Realms from JNDI, but it is more likely that lower-level objects would be acquired from JNDI instead (e.g. DataSources) and the Realms would be configured in INI and use those objects.

      This would be pretty easy to support: there is already a Shiro Factory interface and an AbstractFactory class. A new JndiObjectFactory subclass could be created that uses a JndiLocator to look up and acquire objects.

      The ReflectionBuilder implementation would need to be changed to handle encountering Factory objects - if an object in configuration specifies a Factory as a property, the builder needs to call the factory's getInstance method instead of using the Factory directly. I think this could be done in the ReflectionBuilder#resolveReference method without touching any other code.

      Attachments

        Activity

          People

            deraj123 Jared Bunting
            lhazlewood Les Hazlewood
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: