Package com.google.gerrit.server
Class CurrentUser
java.lang.Object
com.google.gerrit.server.CurrentUser
- Direct Known Subclasses:
AnonymousUser
,ExternalUser
,GroupBackedUser
,IdentifiedUser
,InternalUser
,PeerDaemonUser
Information about the currently logged in user.
This is a RequestScoped
property managed by Guice.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCast to IdentifiedUser if possible.<T> Optional
<T> get
(PropertyMap.Key<T> key) Lookup a stored property.final AccessPath
How this user is accessing the Gerrit Code Review application.Return account ID ifisIdentifiedUser()
is true.abstract Object
Returns a unique identifier for this user that is intended to be used as a cache key.abstract GroupMembership
Get the set of groups the user is currently a member of.com.google.common.collect.ImmutableSet
<String> Returns all email addresses associated with this user.com.google.common.collect.ImmutableSet
<ExternalId.Key> Returns allExternalId.Key
s associated with this user.Returns unique name of the user for logging, nevernull
Identity of the authenticated user.Unique name of the user on this server, if one has been assigned.boolean
hasSameAccountId
(CurrentUser other) Checks if the current user has the same account id of another.boolean
Check if user is the IdentifiedUserboolean
boolean
Check if the CurrentUser is an InternalUser.void
setAccessPath
(AccessPath path) void
updateRealAccountId
(Consumer<Account.Id> setter) If thegetRealUser()
has an account ID associated with it, call the given setter with that ID.
-
Field Details
-
LAST_LOGIN_EXTERNAL_ID_PROPERTY_KEY
-
-
Constructor Details
-
CurrentUser
protected CurrentUser() -
CurrentUser
-
-
Method Details
-
getAccessPath
How this user is accessing the Gerrit Code Review application. -
setAccessPath
-
getRealUser
Identity of the authenticated user.In the normal case where a user authenticates as themselves
getRealUser() == this
.If
X-Gerrit-RunAs
orsuexec
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
If thegetRealUser()
has an account ID associated with it, call the given setter with that ID. -
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
Returns a unique identifier for this user that is intended to be used as a cache key. Returned object should to implementequals()
andhashCode()
for effective caching. -
getUserName
Unique name of the user on this server, if one has been assigned. -
getLoggableName
Returns unique name of the user for logging, nevernull
-
isIdentifiedUser
public boolean isIdentifiedUser()Check if user is the IdentifiedUser -
asIdentifiedUser
Cast to IdentifiedUser if possible. -
getAccountId
Return account ID ifisIdentifiedUser()
is true.- Throws:
UnsupportedOperationException
- if the user is not logged in.
-
getEmailAddresses
Returns all email addresses associated with this user. ForAnonymousUser
and other users that don't represent a person user or service account, this set will be empty. -
getExternalIdKeys
Returns allExternalId.Key
s associated with this user. ForAnonymousUser
and other users that don't represent a person user or service account, this set will be empty. -
isInternalUser
public boolean isInternalUser()Check if the CurrentUser is an InternalUser. -
get
Lookup a stored property.- Parameters:
key
- unique property key. This key has to be the same instance that was used to store the value when constructing thePropertyMap
- Returns:
- stored value, or
Optional#empty()
.
-
getLastLoginExternalIdKey
-
hasSameAccountId
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
-