Class AbstractRealmConfig


  • public abstract class AbstractRealmConfig
    extends java.lang.Object
    Basic configuration object for remote realms in pubserver.

    Example (partial) - to be placed into shiro.ini

     [main]
     myRealm = some class name
     myRealm.config.defaultDataset = demo
     myRealm.config.defaultMenu = publications
     myRealm.config.defaultRole = Normal User
     myRealm.config.includePattern = ^.+@kontoso\.com$
     myRealm.config.excludePattern = contoso\.com$
     myRealm.config.membershipMapping = externalRole:pubserverRole,externalRole2:pubserverRole2:pubserverRole3,externalRole2:pubserverRole4,...   or a prefix only like "print_"
    
     
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getDefaultDataset()
      Default dataset (comet project) that users are associated with when created in comet_admin.serveruser table.
      java.lang.String getDefaultMenu()
      Default menu name use for users created in comet_admin.serveruser table.
      java.lang.String getDefaultRole()
      Default role name use for users created in comet_admin.serveruser table.
      java.lang.String getDefaultTeam()
      Default team name use for users created in comet_admin.serveruser table.
      java.lang.String getExcludePattern()
      Regular expression defining a blacklist of loginNames.
      java.lang.String getIncludePattern()
      Regular expression defining a whitelist of loginNames.
      java.lang.String getMembershipMapping()
      Comma separated list of remote to local role mappings.
      java.lang.String getMembershipTeamsMapping()
      Comma separated list of remote to local team mappings.
      java.util.Map<java.lang.String,​java.lang.String> getMembershipToRolesMapping()
      Gets membership to roles mapping.
      java.util.Map<java.lang.String,​java.lang.String> getMembershipToTeamsMapping()
      Gets membership to teams mapping.
      java.lang.String getName()
      Name of this realm configuration.
      java.util.regex.Pattern getRegexpExclude()
      Gets regexp exclude.
      java.util.regex.Pattern getRegexpInclude()
      Gets regexp include.
      java.util.Set<java.lang.String> mapMembershipsToRoles​(java.util.Collection<java.lang.String> externalMemberships)
      Map external membership names on pubserver roles defined by getMembershipMapping().
      java.util.Set<java.lang.String> mapMembershipsToTeams​(java.util.Collection<java.lang.String> externalMemberships)
      Map external membership names on pubserver teams defined by getMembershipToTeamsMapping().
      void setDefaultDataset​(java.lang.String dataset)
      Sets default dataset.
      void setDefaultMenu​(java.lang.String defaultMenu)
      Sets default menu.
      void setDefaultRole​(java.lang.String defaultRole)
      Sets default role.
      void setDefaultTeam​(java.lang.String defaultTeam)
      Sets default team.
      void setExcludePattern​(java.lang.String excludePattern)
      Sets exclude pattern.
      void setIncludePattern​(java.lang.String includePattern)
      Sets include pattern.
      void setMembershipMapping​(java.lang.String membershipMapping)
      Sets membership mapping.
      void setMembershipTeamsMapping​(java.lang.String membershipTeamsMapping)
      Sets membership teams mapping.
      void setName​(java.lang.String name)
      Sets name.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractRealmConfig

        public AbstractRealmConfig()
    • Method Detail

      • getMembershipMapping

        public java.lang.String getMembershipMapping()
        Comma separated list of remote to local role mappings. Remote and local names are separated by colon. E.g.
         externalRole1:pubserverRole1, externalRole2:pubserverRole2
         

        As a special setting you can define a role prefix to be used instead of the mappings. E.g.

         print_:
         

        This will map all external role names starting on "print_" to pubserver roles without the prefix. E.g. the external ActiveDirectory group "print_Whiteboard" will map to the pubserver role "Whiteboard".

        Returns:
        membership mapping
      • setMembershipMapping

        public void setMembershipMapping​(java.lang.String membershipMapping)
        Sets membership mapping.
        Parameters:
        membershipMapping - the membership mapping
      • getDefaultDataset

        public java.lang.String getDefaultDataset()
        Default dataset (comet project) that users are associated with when created in comet_admin.serveruser table.
        Returns:
        default dataset
      • setDefaultDataset

        public void setDefaultDataset​(java.lang.String dataset)
        Sets default dataset.
        Parameters:
        dataset - the dataset
      • getDefaultMenu

        public java.lang.String getDefaultMenu()
        Default menu name use for users created in comet_admin.serveruser table.
        Returns:
        default menu
      • setDefaultMenu

        public void setDefaultMenu​(java.lang.String defaultMenu)
        Sets default menu.
        Parameters:
        defaultMenu - the default menu
      • getDefaultRole

        public java.lang.String getDefaultRole()
        Default role name use for users created in comet_admin.serveruser table. This is only used if there is no membershipMapping definition.
        Returns:
        default role
      • setDefaultRole

        public void setDefaultRole​(java.lang.String defaultRole)
        Sets default role.
        Parameters:
        defaultRole - the default role
      • getMembershipToRolesMapping

        public java.util.Map<java.lang.String,​java.lang.String> getMembershipToRolesMapping()
        Gets membership to roles mapping.
        Returns:
        HashMap of externalRole => pubserverRole. Never null. A key of "" (empty string) designates a prefix that should be used for all external roles.
      • getName

        public java.lang.String getName()
        Name of this realm configuration.

        Defaults to the simple name of the config class plus the hash code of the config, e.g. "LdapRealmConfig#5687456"

        Returns:
        name
      • setName

        public void setName​(java.lang.String name)
        Sets name.
        Parameters:
        name - the name
      • getRegexpInclude

        public java.util.regex.Pattern getRegexpInclude()
        Gets regexp include.
        Returns:
        the regexp include
      • getRegexpExclude

        public java.util.regex.Pattern getRegexpExclude()
        Gets regexp exclude.
        Returns:
        the regexp exclude
      • getIncludePattern

        public java.lang.String getIncludePattern()
        Regular expression defining a whitelist of loginNames. If a login name does not match this pattern evaluation on the current realm will stop immediately.
        Returns:
        include pattern
      • setIncludePattern

        public void setIncludePattern​(java.lang.String includePattern)
        Sets include pattern.
        Parameters:
        includePattern - the include pattern
      • getExcludePattern

        public java.lang.String getExcludePattern()
        Regular expression defining a blacklist of loginNames. If a login name matches this pattern evaluation on the current realm will stop immediately.
        Returns:
        exclude pattern
      • setExcludePattern

        public void setExcludePattern​(java.lang.String excludePattern)
        Sets exclude pattern.
        Parameters:
        excludePattern - the exclude pattern
      • mapMembershipsToRoles

        public java.util.Set<java.lang.String> mapMembershipsToRoles​(java.util.Collection<java.lang.String> externalMemberships)
        Map external membership names on pubserver roles defined by getMembershipMapping().
        Parameters:
        externalMemberships - e.g. MyGroupX, print_admin, print_manager, print_viewer, etc.
        Returns:
        Set of group names. May be empty or can be null if external memberships are not configured. E.g. ["docmanager"] (for an input of ["print_manager"]. Depends on @
      • getDefaultTeam

        public java.lang.String getDefaultTeam()
        Default team name use for users created in comet_admin.serveruser table. This is only used if there is no membershipTeamsMapping definition.
        Returns:
        default team
      • setDefaultTeam

        public void setDefaultTeam​(java.lang.String defaultTeam)
        Sets default team.
        Parameters:
        defaultTeam - the default team
      • getMembershipToTeamsMapping

        public java.util.Map<java.lang.String,​java.lang.String> getMembershipToTeamsMapping()
        Gets membership to teams mapping.
        Returns:
        HashMap of externalTeam => pubserverTeam. Never null. A key of "" (empty string) designates a prefix that should be used for all external teams.
      • mapMembershipsToTeams

        public java.util.Set<java.lang.String> mapMembershipsToTeams​(java.util.Collection<java.lang.String> externalMemberships)
        Map external membership names on pubserver teams defined by getMembershipToTeamsMapping().
        Parameters:
        externalMemberships - e.g. MyTeamX, print_admin, print_manager, print_viewer, etc.
        Returns:
        Set of teams names. May be empty or can be null if external memberships are not configured. E.g. ["docmanager"] (for an input of ["print_manager"]. Depends on @
      • getMembershipTeamsMapping

        public java.lang.String getMembershipTeamsMapping()
        Comma separated list of remote to local team mappings. Remote and local names are separated by colon. E.g.
         externalTeam1:pubserverTeam1, externalTeam2:pubserverTeam2
         

        As a special setting you can define a team prefix to be used instead of the mappings. E.g.

         print_:
         

        This will map all external team names starting on "print_" to pubserver roles without the prefix. E.g. the external ActiveDirectory group "print_Whiteboard" will map to the pubserver team "Whiteboard".

        Returns:
        membership team mapping
      • setMembershipTeamsMapping

        public void setMembershipTeamsMapping​(java.lang.String membershipTeamsMapping)
        Sets membership teams mapping.
        Parameters:
        membershipTeamsMapping - the membership teams mapping
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object