Interface NuxeoPrincipal

All Superinterfaces:
Principal, Serializable
All Known Implementing Classes:
MultiTenantPrincipal, NuxeoPrincipalImpl, NuxeoPrincipalImpl.TransferableClone, SystemPrincipal, UserPrincipal

public interface NuxeoPrincipal extends Principal, Serializable
Class to represent a principal in Nuxeo. This class holds the list of roles and groups for this principal.
  • Field Details

    • PREFIX

      static final String PREFIX
      See Also:
    • TRANSIENT_USER_PREFIX

      static final String TRANSIENT_USER_PREFIX
      Since:
      8.1
      See Also:
    • TRANSIENT_USER_FORMAT

      @Deprecated static final String TRANSIENT_USER_FORMAT
      Deprecated.
      since 10.3.
      Since:
      8.1
      See Also:
    • TRANSIENT_USERNAME_UNIQUE_PROP

      static final String 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

    • 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

      List<String> getGroups()
      Gets the groups this principal is directly member of.
      Returns:
      the list of the groups
    • getAllGroups

      List<String> getAllGroups()
      Gets the groups this principal directly or undirectly is member of.
      Returns:
      the list of the groups
    • isMemberOf

      boolean isMemberOf(String group)
      Recursively test if the user is member of this group.
      Parameters:
      group - The name of the group
    • getRoles

      List<String> getRoles()
      Gets the roles for this principal.
      Returns:
      the list of the roles
    • setName

      void setName(String name)
    • setFirstName

      void setFirstName(String firstName)
    • setLastName

      void setLastName(String lastName)
    • setGroups

      void setGroups(List<String> groups)
    • setRoles

      void setRoles(List<String> roles)
    • setCompany

      void setCompany(String company)
    • setPassword

      void setPassword(String password)
    • setEmail

      void setEmail(String email)
    • getPrincipalId

      String getPrincipalId()
      Returns a generated id that is unique for each principal instance.
      Returns:
      a unique string
    • setPrincipalId

      void setPrincipalId(String principalId)
      Sets the principalId.
      Parameters:
      principalId - a new principalId for this instance
    • getModel

      DocumentModel getModel()
    • setModel

      void setModel(DocumentModel model)
    • 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()
      Returns the tenantId of this NuxeoPrincipal, or null if there is no tenantId.
      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, or null if this principal was not created from another user.
      Returns:
      the originating user, or null
    • setOriginatingUser

      void setOriginatingUser(String originatingUser)
      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

      static boolean isTransientUsername(String username)
      Returns true if the given @{code username} is a transient username.
      Since:
      8.1
    • computeTransientUsername

      static String computeTransientUsername(String baseUsername)
      Computes a transient username from the given baseUsername.

      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 given baseUsername.

      Since:
      8.1
    • getCurrent

      static NuxeoPrincipal getCurrent()
      Returns the current logged in NuxeoPrincipal.
      Returns:
      the current logged in NuxeoPrincipal, or null if there is none
      Since:
      11.1
    • isCurrentAdministrator

      static boolean isCurrentAdministrator()
      Checks if the current logged in NuxeoPrincipal is an Administrator.
      Returns:
      true if the current logged in NuxeoPrincipal is an Administrator
      Since:
      11.1