Package org.nuxeo.ecm.core.api
Interface NuxeoPrincipal
- All Superinterfaces:
Principal,Serializable
- All Known Implementing Classes:
MultiTenantPrincipal,NuxeoPrincipalImpl,NuxeoPrincipalImpl.TransferableClone,SystemPrincipal,UserPrincipal
Class to represent a principal in Nuxeo. This class holds the list of roles and groups for this principal.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringDeprecated.since 10.3.static final Stringstatic final StringProperty that defines if a transient username should be unique no matter what base username is provided, or if a transient username should be always the same for a given base username. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcomputeTransientUsername(String baseUsername) Computes a transient username from the givenbaseUsername.Gets the acting user for this principal.Gets the groups this principal directly or undirectly is member of.Gets the company name of this principal.static NuxeoPrincipalReturns the current logged inNuxeoPrincipal.getEmail()Get the user email if any.Gets the first name of this principal.Gets the groups this principal is directly member of.default StringgetId()Returns a unique identifier to use to reference this principal externally.Gets the last name of this principal.getModel()Gets the base user from which this principal was created, ornullif this principal was not created from another user.Gets the password of this principal.Returns a generated id that is unique for each principal instance.getRoles()Gets the roles for this principal.booleanReturns true if the principal is an administrator.booleanChecks if the principal is anonymous (guest user).static booleanChecks if the current logged inNuxeoPrincipalis an Administrator.booleanisMemberOf(String group) Recursively test if the user is member of this group.booleanReturns true if the principal is a transient principal.static booleanisTransientUsername(String username) Returns true if the given @{code username} is a transient username.voidsetCompany(String company) voidvoidsetFirstName(String firstName) voidvoidsetLastName(String lastName) voidsetModel(DocumentModel model) voidvoidsetOriginatingUser(String originatingUser) Sets the originating user.voidsetPassword(String password) voidsetPrincipalId(String principalId) Sets the principalId.void
-
Field Details
-
PREFIX
- See Also:
-
TRANSIENT_USER_PREFIX
- Since:
- 8.1
- See Also:
-
TRANSIENT_USER_FORMAT
Deprecated.since 10.3.- Since:
- 8.1
- See Also:
-
TRANSIENT_USERNAME_UNIQUE_PROP
Property that defines if a transient username should be unique no matter what base username is provided, or if a transient username should be always the same for a given base username.- Since:
- 10.3
- See Also:
-
-
Method Details
-
getId
Returns a unique identifier to use to reference this principal externally.- Returns:
- A unique identifier
- Since:
- 2025.9
- See Also:
-
getFirstName
String getFirstName()Gets the first name of this principal.- Returns:
- the first name of this principal
-
getLastName
String getLastName()Gets the last name of this principal.- Returns:
- the last name of this principal
-
getPassword
String getPassword()Gets the password of this principal.Note: Some APIs that return principals from the database intentionally do not fill this field
- Returns:
- the password of this principal
-
getCompany
String getCompany()Gets the company name of this principal.- Returns:
- the company name
-
getEmail
String getEmail()Get the user email if any. Return null if not email was specified- Returns:
- the user email or null if none
-
getGroups
Gets the groups this principal is directly member of.- Returns:
- the list of the groups
-
getAllGroups
Gets the groups this principal directly or undirectly is member of.- Returns:
- the list of the groups
-
isMemberOf
Recursively test if the user is member of this group.- Parameters:
group- The name of the group
-
getRoles
Gets the roles for this principal.- Returns:
- the list of the roles
-
setName
-
setFirstName
-
setLastName
-
setGroups
-
setRoles
-
setCompany
-
setPassword
-
setEmail
-
getPrincipalId
String getPrincipalId()Returns a generated id that is unique for each principal instance.- Returns:
- a unique string
-
setPrincipalId
Sets the principalId.- Parameters:
principalId- a new principalId for this instance
-
getModel
DocumentModel getModel() -
setModel
-
isAdministrator
boolean isAdministrator()Returns true if the principal is an administrator.Security checks still apply on the repository for administrator user. If user is a system user, this method will return true.
- Returns:
- true if the principal is an administrator.
-
getTenantId
String getTenantId()- Since:
- 5.6
-
isAnonymous
boolean isAnonymous()Checks if the principal is anonymous (guest user).- Returns:
- true if the principal is anonymous.
-
getOriginatingUser
String getOriginatingUser()Gets the base user from which this principal was created, ornullif this principal was not created from another user.- Returns:
- the originating user, or
null
-
setOriginatingUser
Sets the originating user.- Parameters:
originatingUser- the originating user
-
getActingUser
String getActingUser()Gets the acting user for this principal.This is the originating user (usually when this principal is a system user), or if there is none this principal's user.
- Returns:
- the acting user
- Since:
- 6.0
-
isTransient
boolean isTransient()Returns true if the principal is a transient principal.- Since:
- 8.1
-
isTransientUsername
Returns true if the given @{code username} is a transient username.- Since:
- 8.1
-
computeTransientUsername
Computes a transient username from the givenbaseUsername.If the configuration property "nuxeo.transient.username.unique" is
true, the transient username will be unique, otherwise it will always be the same for a givenbaseUsername.- Since:
- 8.1
-
getCurrent
Returns the current logged inNuxeoPrincipal.- Returns:
- the current logged in
NuxeoPrincipal, ornullif there is none - Since:
- 11.1
-
isCurrentAdministrator
static boolean isCurrentAdministrator()Checks if the current logged inNuxeoPrincipalis an Administrator.- Returns:
trueif the current logged inNuxeoPrincipalis an Administrator- Since:
- 11.1
-