Class SecurityManagerFactory

    • Constructor Detail

      • SecurityManagerFactory

        protected SecurityManagerFactory()
    • Method Detail

      • getManager

        public <T> T getManager​(Map<String,​Map<String,​T>> iD2sMmap,
                                String ctxId,
                                String name,
                                boolean remove)
        Find SecurityManager by policy context identifier and name (as secondary key). There is a separate SecurityManager for each EJB of a module; they all share the same policy context identifier, and are differentiated by (ejb) name. There is one SecurityManager per web module/policy context identifier.
        Parameters:
        iD2sMmap - maps policy context id (as key) to subordinate map (as value) of (module) name (as key) to SecurityManagers (as value).
        ctxId - the policy context identifier (i.e., the primary key of the lookup
        name - the name of the component (e.g., the ejb name when looking up an EJBSecurityManager. for WebSecurityManagers this value should be null
        remove - boolean indicating whether the corresponding SecurityManager is to be deleted from the map.
        Returns:
        the selected SecurityManager or null.
      • getManagers

        public <T> ArrayList<T> getManagers​(Map<String,​Map<String,​T>> iD2sMmap,
                                            String ctxId,
                                            boolean remove)
        Get all SecurityManagers associated with a policy context identifier. EJBs from the same jar, all share the same policy context identifier, but each have their own SecurityManager. WebSecurityManager(s) map 1-to-1 to policy context identifier.
        Parameters:
        iD2sMmap - maps policy context id (as key) to subordinate map (as value) of (module) name (as key) to SecurityManagers (as value).
        ctxId - the policy context identifier (i.e., the lookup key).
        remove - boolean indicating whether the corresponding SecurityManager(s) are to be deleted from the map.
        Returns:
        a non-empty ArrayList containing the selected managers, or null.
      • getManagersForApp

        public <T> List<T> getManagersForApp​(Map<String,​Map<String,​T>> iD2sMmap,
                                             Map<String,​List<String>> app2iDmap,
                                             String appName,
                                             boolean remove)
        Get (Web or EJB) SecurityManagers associated with an application. Note that the WebSecurityManager and EJBSecurityManager classes manage separate maps for their respective security manager types.
        Parameters:
        iD2sMmap - maps policy context id (as key) to subordinate map (as value) of (module) name (as key) to SecurityManagers (as value).
        app2iDmap - maps appName (as key) to list of policy context identifiers (as value).
        appName - the application name, (i.e., the lookup key)
        remove - boolean indicating whether the corresponding mappings are to be removed from the app2iDmap and aiD2sMmap.
        Returns:
        a non-empty ArrayList containing the selected managers, or null.
      • getContextsForApp

        public <T> String[] getContextsForApp​(Map<String,​List<String>> app2iDmap,
                                              String appName,
                                              boolean remove)
        Get (EJB or Web) Policy context identifiers for app.
        Parameters:
        app2iDmap - maps appName (as key) to list of policy context identifiers (as value).
        appName - the application name, (i.e., the lookup key).
        remove - boolean indicating whether the corresponding mappings are to be removed from the app2iDmap.
        Returns:
        a non-zero length array containing the selected policy context identifiers, or null.
      • addManagerToApp

        public <T> void addManagerToApp​(Map<String,​Map<String,​T>> iD2sMmap,
                                        Map<String,​List<String>> app2iDmap,
                                        String ctxId,
                                        String name,
                                        String appName,
                                        T manager)
        In iD2sMmap, maps manager to ctxId and name, and in app2iDmap, includes ctxID in values mapped to appName.
        Parameters:
        iD2sMmap - maps policy context id (as key) to subordinate map (as value) of (module) name (as key) to SecurityManagers (as value).
        app2iDmap - maps appName (as key) to list of policy context identifiers (as value).
        ctxId - the policy context identifier
        name - the component name (the EJB name or null for web modules)
        appName - the application name
        manager - the SecurityManager