1. Shiro
  2. SHIRO-217

Create JndiObjectFactory to allow JNDI object acquisition during configuration


    • 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:


      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.


        Les Hazlewood made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Les Hazlewood made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Jared Bunting made changes -
        Field Original Value New Value
        Assignee Jared Bunting [ deraj123 ]
        Les Hazlewood created issue -


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


            • Created: