public interface UserInfo
The current user refers to the authenticated user for whom the request context has been opened. All user information like ids, names, roles, tenant and user attributes are assumed to be verified, i.e. they are secured by adequate means like JWT verification.
Modifier and Type | Method and Description |
---|---|
default <T extends UserInfo> |
as(Class<T> concreteUserInfoClazz)
Provides type-safe access to
UserInfo and additional attributes. |
default ModifiableUserInfo |
copy()
Creates a
ModifiableUserInfo based on this UserInfo . |
static ModifiableUserInfo |
create()
Creates a
ModifiableUserInfo based on default values of a clear UserInfo . |
default Object |
getAdditionalAttribute(String name)
Returns additional attribute with given name if existing.
|
default Map<String,Object> |
getAdditionalAttributes()
Returns all additional attributes as
Map . |
default Stream<String> |
getAttribute(String attribute)
Deprecated.
|
default Map<String,List<String>> |
getAttributes()
Returns all user attributes as a
Map . |
default List<String> |
getAttributeValues(String attribute)
Returns a
List of values of the specified attribute as presented in the request. |
default String |
getId()
Returns the verified user id of the request's authenticated user.
|
String |
getName()
Returns the verified user name of the request's authenticated user.
|
default Set<String> |
getRoles()
Returns the
List of granted user roles. |
default String |
getTenant()
Returns the verified tenant of the request's authenticated user.
|
default Set<String> |
getUnrestrictedAttributes()
Returns the
Set of unrestricted attributes of the user. |
default boolean |
hasRole(String role)
Checks if the current user is associated with the specified user role.
|
boolean |
isAuthenticated()
Returns
true if UserInfo is filled with data of an authenticated user. |
default boolean |
isInternalUser()
Returns
true if the user is the internal user. |
default boolean |
isPrivileged()
Returns
true if UserInfo is a privileged user, i.e. |
default boolean |
isSystemUser()
Returns
true if the user is a system user and not a named user. |
default boolean |
isUnrestrictedAttribute(String attribute)
Returns
true if the passed attribute is unrestricted, i.e. |
static ModifiableUserInfo create()
ModifiableUserInfo
based on default values of a clear UserInfo
.ModifiableUserInfo
instance.default String getId()
String getName()
default String getTenant()
default boolean isSystemUser()
true
if the user is a system user and not a named user.true
if the user is a system user and not a named user.default boolean isInternalUser()
true
if the user is the internal user.true
if the user is the internal user.boolean isAuthenticated()
true
if UserInfo
is filled with data of an authenticated user.true
if UserInfo
is filled with data of an authenticated user.default boolean isPrivileged()
true
if UserInfo
is a privileged user, i.e. passes all authorization checks.
Privileged users can only be used internally.true
if UserInfo
is a privileged user.default boolean hasRole(String role)
role
- The name of the role.true
if role is present, false
otherwise.default Set<String> getRoles()
List
of granted user roles.List
of roles.@Deprecated default Stream<String> getAttribute(String attribute)
Stream
of values of the specified attribute as presented in the request.attribute
- The name of the attribute.default List<String> getAttributeValues(String attribute)
List
of values of the specified attribute as presented in the request.attribute
- The name of the attribute.default Map<String,List<String>> getAttributes()
Map
.default boolean isUnrestrictedAttribute(String attribute)
true
if the passed attribute is unrestricted, i.e. the current user has no restrictions with respect to this attribute.attribute
- The name of the attribute.true
if unrestricted, false
otherwise.default Set<String> getUnrestrictedAttributes()
Set
of unrestricted attributes of the user.Set
of unrestricted attributes.default Object getAdditionalAttribute(String name)
name
- The name of the attribute.Object
.default Map<String,Object> getAdditionalAttributes()
Map
.default <T extends UserInfo> T as(Class<T> concreteUserInfoClazz)
UserInfo
and additional attributes.
Creates a concrete proxy instance implementing UserInfo
and a sub interface concreteUserInfoClazz
which has a concrete API for the additional attributes according to the chosen authentication.Example:
XsuaaUserInfo xsuaaUser = eventContext.getUserInfo().as(XsuaaUserInfo.class);
T
- the type of the concrete UserInfo
interface.concreteUserInfoClazz
- The sub interface providing the concrete API of additional attributes.UserInfo
and concreteUserInfoClazz
.default ModifiableUserInfo copy()
ModifiableUserInfo
based on this UserInfo
.ModifiableUserInfo
instance.Copyright © 2023. All rights reserved.