Package org.wildfly.security.auth.server
Class SecurityDomain.Builder
- java.lang.Object
-
- org.wildfly.security.auth.server.SecurityDomain.Builder
-
- Enclosing class:
- SecurityDomain
public static final class SecurityDomain.Builder extends Object
A builder for creating new security domains.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
built
private Map<String,RoleMapper>
categoryRoleMappers
private String
defaultRealmName
private Function<Evidence,Principal>
evidenceDecoder
private PermissionMapper
permissionMapper
private Function<Principal,Principal>
postRealmRewriter
private Function<Principal,Principal>
preRealmRewriter
private Function<Principal,Principal>
principalDecoder
private RealmMapper
realmMapper
private HashMap<String,SecurityDomain.RealmBuilder>
realms
private RoleDecoder
roleDecoder
private RoleMapper
roleMapper
private Consumer<SecurityEvent>
securityEventListener
private UnaryOperator<SecurityIdentity>
securityIdentityTransformer
private Predicate<SecurityDomain>
trustedSecurityDomain
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SecurityDomain.RealmBuilder
addRealm(String name, SecurityRealm realm)
Add a realm to this security domain.(package private) SecurityDomain.Builder
addRealm(SecurityDomain.RealmBuilder realmBuilder)
(package private) void
assertNotBuilt()
SecurityDomain
build()
Construct this security domain.Map<String,RoleMapper>
getCategoryRoleMappers()
Get the category role mapper map.String
getDefaultRealmName()
Get the default realm name.void
setCategoryRoleMappers(Map<String,RoleMapper> categoryRoleMappers)
Set the category role mapper map.SecurityDomain.Builder
setDefaultRealmName(String defaultRealmName)
Set the default realm name.SecurityDomain.Builder
setEvidenceDecoder(EvidenceDecoder evidenceDecoder)
Set the evidence decoder for this security domain which will be used to extract the principal from the givenEvidence
.SecurityDomain.Builder
setPermissionMapper(PermissionMapper permissionMapper)
Set the permission mapper for this security domain, which will be used to obtain and map permissions based on the identities from this security domain.SecurityDomain.Builder
setPostRealmRewriter(Function<Principal,Principal> rewriter)
Sets a post-realm name rewriter, which rewrites the authentication name after a realm is selected.SecurityDomain.Builder
setPostRealmRewriter(NameRewriter rewriter)
Sets a post-realm name rewriter, which rewrites the authentication name after a realm is selected.SecurityDomain.Builder
setPreRealmRewriter(Function<Principal,Principal> rewriter)
Sets a pre-realm name rewriter, which rewrites the authentication name before a realm is selected.SecurityDomain.Builder
setPreRealmRewriter(NameRewriter rewriter)
Sets a pre-realm name rewriter, which rewrites the authentication name before a realm is selected.SecurityDomain.Builder
setPrincipalDecoder(PrincipalDecoder principalDecoder)
Set the principal decoder for this security domain, which will be used to convertPrincipal
objects into names for handling in the realm.SecurityDomain.Builder
setRealmMapper(RealmMapper realmMapper)
Set the realm mapper for this security domain, which selects a realm based on the authentication name.SecurityDomain.Builder
setRoleDecoder(RoleDecoder roleDecoder)
Set the role decoder for this security domain.SecurityDomain.Builder
setRoleMapper(RoleMapper roleMapper)
Set the role mapper for this security domain, which will be used to perform the last mapping before returning the roles associated with an identity obtained from this security domain.SecurityDomain.Builder
setSecurityEventListener(Consumer<SecurityEvent> securityEventListener)
Set the security event listener that will consume allSecurityEvent
instances emitted but the domain.SecurityDomain.Builder
setSecurityIdentityTransformer(UnaryOperator<SecurityIdentity> securityIdentityTransformer)
Set the security identity transformer to use.SecurityDomain.Builder
setTrustedSecurityDomainPredicate(Predicate<SecurityDomain> trustedSecurityDomain)
Set the predicate that should be used to determine if a given domain is trusted by this domain.
-
-
-
Field Detail
-
built
private boolean built
-
realms
private final HashMap<String,SecurityDomain.RealmBuilder> realms
-
defaultRealmName
private String defaultRealmName
-
realmMapper
private RealmMapper realmMapper
-
roleMapper
private RoleMapper roleMapper
-
permissionMapper
private PermissionMapper permissionMapper
-
categoryRoleMappers
private Map<String,RoleMapper> categoryRoleMappers
-
securityIdentityTransformer
private UnaryOperator<SecurityIdentity> securityIdentityTransformer
-
trustedSecurityDomain
private Predicate<SecurityDomain> trustedSecurityDomain
-
securityEventListener
private Consumer<SecurityEvent> securityEventListener
-
roleDecoder
private RoleDecoder roleDecoder
-
-
Method Detail
-
setPreRealmRewriter
public SecurityDomain.Builder setPreRealmRewriter(NameRewriter rewriter)
Sets a pre-realm name rewriter, which rewrites the authentication name before a realm is selected.- Parameters:
rewriter
- the name rewriter (must not benull
)- Returns:
- this builder
-
setPreRealmRewriter
public SecurityDomain.Builder setPreRealmRewriter(Function<Principal,Principal> rewriter)
Sets a pre-realm name rewriter, which rewrites the authentication name before a realm is selected.- Parameters:
rewriter
- the name rewriter (must not benull
)- Returns:
- this builder
-
setPostRealmRewriter
public SecurityDomain.Builder setPostRealmRewriter(NameRewriter rewriter)
Sets a post-realm name rewriter, which rewrites the authentication name after a realm is selected.- Parameters:
rewriter
- the name rewriter (must not benull
)- Returns:
- this builder
-
setPostRealmRewriter
public SecurityDomain.Builder setPostRealmRewriter(Function<Principal,Principal> rewriter)
Sets a post-realm name rewriter, which rewrites the authentication name after a realm is selected.- Parameters:
rewriter
- the name rewriter (must not benull
)- Returns:
- this builder
-
setRealmMapper
public SecurityDomain.Builder setRealmMapper(RealmMapper realmMapper)
Set the realm mapper for this security domain, which selects a realm based on the authentication name.- Parameters:
realmMapper
- the realm mapper (must not benull
)- Returns:
- this builder
-
setRoleMapper
public SecurityDomain.Builder setRoleMapper(RoleMapper roleMapper)
Set the role mapper for this security domain, which will be used to perform the last mapping before returning the roles associated with an identity obtained from this security domain.- Parameters:
roleMapper
- the role mapper (must not benull
)- Returns:
- this builder
-
setPermissionMapper
public SecurityDomain.Builder setPermissionMapper(PermissionMapper permissionMapper)
Set the permission mapper for this security domain, which will be used to obtain and map permissions based on the identities from this security domain.- Parameters:
permissionMapper
- the permission mapper (must not benull
)- Returns:
- this builder
-
setPrincipalDecoder
public SecurityDomain.Builder setPrincipalDecoder(PrincipalDecoder principalDecoder)
Set the principal decoder for this security domain, which will be used to convertPrincipal
objects into names for handling in the realm.- Parameters:
principalDecoder
- the principal decoder (must not benull
)- Returns:
- this builder
-
addRealm
public SecurityDomain.RealmBuilder addRealm(String name, SecurityRealm realm)
Add a realm to this security domain.- Parameters:
name
- the realm's name in this configurationrealm
- the realm- Returns:
- the new realm builder
-
addRealm
SecurityDomain.Builder addRealm(SecurityDomain.RealmBuilder realmBuilder)
-
getDefaultRealmName
public String getDefaultRealmName()
Get the default realm name.- Returns:
- the default realm name
-
setDefaultRealmName
public SecurityDomain.Builder setDefaultRealmName(String defaultRealmName)
Set the default realm name.- Parameters:
defaultRealmName
- the default realm name (must not benull
)
-
getCategoryRoleMappers
public Map<String,RoleMapper> getCategoryRoleMappers()
Get the category role mapper map.- Returns:
- the category role mapper map
-
setCategoryRoleMappers
public void setCategoryRoleMappers(Map<String,RoleMapper> categoryRoleMappers)
Set the category role mapper map.- Parameters:
categoryRoleMappers
- the category role mapper map (must not benull
)
-
setSecurityIdentityTransformer
public SecurityDomain.Builder setSecurityIdentityTransformer(UnaryOperator<SecurityIdentity> securityIdentityTransformer)
Set the security identity transformer to use. The transformer must not returnnull
, or authentication will fail.- Parameters:
securityIdentityTransformer
- the security identity transformer to use (must not benull
)- Returns:
- this builder
-
setTrustedSecurityDomainPredicate
public SecurityDomain.Builder setTrustedSecurityDomainPredicate(Predicate<SecurityDomain> trustedSecurityDomain)
Set the predicate that should be used to determine if a given domain is trusted by this domain.- Parameters:
trustedSecurityDomain
- the predicate that should be used to determine if a given domain is trusted by this domain (must not benull
)
-
setSecurityEventListener
public SecurityDomain.Builder setSecurityEventListener(Consumer<SecurityEvent> securityEventListener)
Set the security event listener that will consume allSecurityEvent
instances emitted but the domain.- Parameters:
securityEventListener
- the security event listener that will consume allSecurityEvent
instances emitted but the domain.- Returns:
- this builder
-
setEvidenceDecoder
public SecurityDomain.Builder setEvidenceDecoder(EvidenceDecoder evidenceDecoder)
Set the evidence decoder for this security domain which will be used to extract the principal from the givenEvidence
.- Parameters:
evidenceDecoder
- the evidence decoder (must not benull
)- Returns:
- this builder
- Since:
- 1.10.0
-
setRoleDecoder
public SecurityDomain.Builder setRoleDecoder(RoleDecoder roleDecoder)
Set the role decoder for this security domain.- Parameters:
roleDecoder
- the role decoder (must not benull
)- Returns:
- this builder
- Since:
- 1.11.0
-
build
public SecurityDomain build()
Construct this security domain. Construction requirescreateSecurityDomain
ElytronPermission
.- Returns:
- the new security domain
-
assertNotBuilt
void assertNotBuilt()
-
-