Class AbstractRealmConfig
- java.lang.Object
-
- com.priint.pubserver.auth.realm.AbstractRealmConfig
-
public abstract class AbstractRealmConfig extends java.lang.ObjectBasic 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 Summary
Constructors Constructor Description AbstractRealmConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetDefaultDataset()Default dataset (comet project) that users are associated with when created in comet_admin.serveruser table.java.lang.StringgetDefaultMenu()Default menu name use for users created in comet_admin.serveruser table.java.lang.StringgetDefaultRole()Default role name use for users created in comet_admin.serveruser table.java.lang.StringgetDefaultTeam()Default team name use for users created in comet_admin.serveruser table.java.lang.StringgetExcludePattern()Regular expression defining a blacklist of loginNames.java.lang.StringgetIncludePattern()Regular expression defining a whitelist of loginNames.java.lang.StringgetMembershipMapping()Comma separated list of remote to local role mappings.java.lang.StringgetMembershipTeamsMapping()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.StringgetName()Name of this realm configuration.java.util.regex.PatterngetRegexpExclude()Gets regexp exclude.java.util.regex.PatterngetRegexpInclude()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 bygetMembershipMapping().java.util.Set<java.lang.String>mapMembershipsToTeams(java.util.Collection<java.lang.String> externalMemberships)Map external membership names on pubserver teams defined bygetMembershipToTeamsMapping().voidsetDefaultDataset(java.lang.String dataset)Sets default dataset.voidsetDefaultMenu(java.lang.String defaultMenu)Sets default menu.voidsetDefaultRole(java.lang.String defaultRole)Sets default role.voidsetDefaultTeam(java.lang.String defaultTeam)Sets default team.voidsetExcludePattern(java.lang.String excludePattern)Sets exclude pattern.voidsetIncludePattern(java.lang.String includePattern)Sets include pattern.voidsetMembershipMapping(java.lang.String membershipMapping)Sets membership mapping.voidsetMembershipTeamsMapping(java.lang.String membershipTeamsMapping)Sets membership teams mapping.voidsetName(java.lang.String name)Sets name.java.lang.StringtoString()
-
-
-
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 bygetMembershipMapping().- 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 bygetMembershipToTeamsMapping().- 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:
toStringin classjava.lang.Object
-
-