Class CurrentUser

    • Constructor Detail

      • CurrentUser

        public CurrentUser()
    • Method Detail

      • getAccessPath

        public final AccessPath getAccessPath()
        How this user is accessing the Gerrit Code Review application.
      • setAccessPath

        public void setAccessPath​(AccessPath path)
      • getRealUser

        public CurrentUser getRealUser()
        Identity of the authenticated user.

        In the normal case where a user authenticates as themselves getRealUser() == this.

        If X-Gerrit-RunAs or suexec was used this method returns the identity of the account that has permission to act on behalf of this user.

      • isImpersonating

        public boolean isImpersonating()
      • updateRealAccountId

        public void updateRealAccountId​(Consumer<Account.Id> setter)
        If the getRealUser() has an account ID associated with it, call the given setter with that ID.
      • getEffectiveGroups

        public abstract GroupMembership getEffectiveGroups()
        Get the set of groups the user is currently a member of.

        The returned set may be a subset of the user's actual groups; if the user's account is currently deemed to be untrusted then the effective group set is only the anonymous and registered user groups. To enable additional groups (and gain their granted permissions) the user must update their account to use only trusted authentication providers.

        Returns:
        active groups for this user.
      • getCacheKey

        public abstract Object getCacheKey()
        Returns a unique identifier for this user that is intended to be used as a cache key. Returned object should to implement equals() and hashCode() for effective caching.
      • getUserName

        public Optional<String> getUserName()
        Unique name of the user on this server, if one has been assigned.
      • getLoggableName

        public String getLoggableName()
        Returns:
        unique name of the user for logging, never null
      • isIdentifiedUser

        public boolean isIdentifiedUser()
        Check if user is the IdentifiedUser
      • asIdentifiedUser

        public IdentifiedUser asIdentifiedUser()
        Cast to IdentifiedUser if possible.
      • isInternalUser

        public boolean isInternalUser()
        Check if the CurrentUser is an InternalUser.
      • get

        public <T> Optional<T> get​(CurrentUser.PropertyKey<T> key)
        Lookup a previously stored property.
        Parameters:
        key - unique property key.
        Returns:
        previously stored value, or Optional#empty().
      • put

        public <T> void put​(CurrentUser.PropertyKey<T> key,
                            T value)
        Store a property for later retrieval.
        Parameters:
        key - unique property key.
        value - value to store; or null to clear the value.
      • setLastLoginExternalIdKey

        public void setLastLoginExternalIdKey​(ExternalId.Key externalIdKey)
      • hasSameAccountId

        public boolean hasSameAccountId​(CurrentUser other)
        Checks if the current user has the same account id of another.

        Provide a generic interface for allowing subclasses to define whether two accounts represent the same account id.

        Parameters:
        other - user to compare
        Returns:
        true if the two users have the same account id