public interface SecurityIdentity
Instances of this class will always be available for injection even if no user is currently
logged in. In this case isAnonymous() will return true, and the user
will generally not have any roles (although some implementation may assign roles to anonymous users).
Implementations should be immutable.
| Modifier and Type | Field and Description |
|---|---|
static String |
USER_ATTRIBUTE
The attribute name that is used to store the underlying user representation.
|
| Modifier and Type | Method and Description |
|---|---|
CompletionStage<Boolean> |
checkPermission(Permission permission)
Checks if a user holds a given permissions, and if so will return
true. |
default boolean |
checkPermissionBlocking(Permission permission)
Checks if a user holds a given permissions, and if so will return
true. |
<T> T |
getAttribute(String name)
Gets an attribute from the identity.
|
Map<String,Object> |
getAttributes() |
<T extends Credential> |
getCredential(Class<T> credentialType)
Gets the users credential of the given type, or
null if a credential of the given type is not
present. |
Set<Credential> |
getCredentials()
Returns a set of all credentials owned by this user.
|
Principal |
getPrincipal() |
Set<String> |
getRoles()
Returns the set of all roles held by the user.
|
default boolean |
hasRole(String role)
Checks if a user has a given role.
|
boolean |
isAnonymous() |
static final String USER_ATTRIBUTE
boolean isAnonymous()
true if this identity represents an anonymous (i.e. not logged in) userSet<String> getRoles()
If more advanced authorization support is required than can be provided by a simple role based system
then checkPermission(Permission) and checkPermissionBlocking(Permission) should be used
instead.
This set should either be unmodifiable, or a defensive copy so attempts to change the role set do not modify the underlying identity.
default boolean hasRole(String role)
getRoles().contains(role);.role - The roletrue if the identity has the specified role<T extends Credential> T getCredential(Class<T> credentialType)
null if a credential of the given type is not
present.T - The type of the credentialcredentialType - The type of the credentialSet<Credential> getCredentials()
<T> T getAttribute(String name)
These can be arbitrary, and extensions are encouraged to use name spaced attribute names in a similar manner to package names.
The `quarkus.` namespace is reserved
The root
T - The type of the attributename - The attribute nameCompletionStage<Boolean> checkPermission(Permission permission)
true.
This method is asynchronous, as it may involve calls to a remote resource.permission - The permissiondefault boolean checkPermissionBlocking(Permission permission)
true.
This method is a blocking version of checkPermission(Permission). By default it will
just wait for the CompletionStage to be complete, however it is likely that some implementations
will want to provide a more efficient version.permission - The permissionCopyright © 2019 JBoss by Red Hat. All rights reserved.