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

Create JndiObjectFactory to allow JNDI object acquisition during configuration

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.2.0
    • Component/s: Configuration
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: