Shiro
  1. Shiro
  2. SHIRO-217

Create JndiObjectFactory to allow JNDI object acquisition during configuration

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major 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.

        Activity

        No work has yet been logged on this issue.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development