Class AbstractRealmConfig

java.lang.Object
com.priint.pubserver.auth.realm.AbstractRealmConfig

public abstract class AbstractRealmConfig extends 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_"

 
  • Constructor Details

    • AbstractRealmConfig

      public AbstractRealmConfig()
  • Method Details

    • getMembershipMapping

      public 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(String membershipMapping)
      Sets membership mapping.
      Parameters:
      membershipMapping - the membership mapping
    • getDefaultDataset

      public 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(String dataset)
      Sets default dataset.
      Parameters:
      dataset - the dataset
    • getDefaultMenu

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

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

      public 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(String defaultRole)
      Sets default role.
      Parameters:
      defaultRole - the default role
    • getMembershipToRolesMapping

      public Map<String,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 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(String name)
      Sets name.
      Parameters:
      name - the name
    • getRegexpInclude

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

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

      public 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(String includePattern)
      Sets include pattern.
      Parameters:
      includePattern - the include pattern
    • getExcludePattern

      public 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(String excludePattern)
      Sets exclude pattern.
      Parameters:
      excludePattern - the exclude pattern
    • mapMembershipsToRoles

      public Set<String> mapMembershipsToRoles(Collection<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 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(String defaultTeam)
      Sets default team.
      Parameters:
      defaultTeam - the default team
    • getMembershipToTeamsMapping

      public Map<String,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 Set<String> mapMembershipsToTeams(Collection<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 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(String membershipTeamsMapping)
      Sets membership teams mapping.
      Parameters:
      membershipTeamsMapping - the membership teams mapping
    • toString

      public String toString()
      Overrides:
      toString in class Object