Class CmsUser
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<I_CmsPrincipal>
,Principal
,I_CmsPrincipal
A user in OpenCms is uniquely defined by its user named returned by
.CmsPrincipal.getName()
Basic users in OpenCms are users that can access the OpenCms Workplace.
Moreover, the user must be created by another user with the
role.
These users are "content managers" that actually have write permissions in
at last some parts of the VFS.CmsRole.ACCOUNT_MANAGER
Another possibility is to have users in a 'Guests' group. These users do not have access to the OpenCms Workplace. However, an user in a 'Guests' group can be created by every user, for example the "Guest" user. The main use case is that these users are used for users of the website that can generate their own accounts, in a "please register your account..." scenario. These user accounts can then be used to build personalized web sites.
- Since:
- 6.0.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Flag indicating changed additional infos.static final int
Flag indicating changed core data.static final int
Flag indicating a changed last login date.Fields inherited from class org.opencms.security.CmsPrincipal
m_description, m_flags, m_id, m_name
Fields inherited from interface org.opencms.security.I_CmsPrincipal
FLAG_CORE_LIMIT, FLAG_DISABLED, FLAG_ENABLED, FLAG_GROUP_ROLE, FLAG_GROUP_VIRTUAL, FLAG_USER_MANAGED, FLAG_USER_WEBUSER, PRINCIPAL_GROUP, PRINCIPAL_USER
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
checkEmail
(String email) Validates an email address.void
Checks if the provided user name is a valid user name and can be used as an argument value forCmsPrincipal.setName(String)
.static void
checkZipCode
(String zipcode) Validates a zip code.clone()
void
Deletes a value from this users "additional information" storage map.Returns this users complete "additional information" storage map.getAdditionalInfo
(String key) Returns a value from this users "additional information" storage map, ornull
if no value for the given key is available.Returns the address line of this user.int
getChanges
(CmsUser oldUser) Returns the changes of this user compared to the previous user data.getCity()
Returns the city information of this user.Returns the country information of this user.long
Returns the creation date.Returns the description of this principal.getDescription
(Locale locale) Returns the description of this organizational unit.getDisplayName
(CmsObject cms, Locale locale) Returns the display name of this principal including the organizational unit.getEmail()
Returns the email address of this user.Returns the first name of this user.Returns the "full" name of the this user in the format"{firstname} {lastname} ({username})"
.static String
getFullName
(CmsUser user) Returns the "full" name of the given user in the format"{firstname} {lastname} ({username})"
, or the empty String""
if the user is null.Returns the institution information of this user.long
Returns the time of the last login of this user.Returns the last name of this user.Returns the encrypted user password.Returns the zip code information of this user.static boolean
hasChangedAdditionalInfos
(int changes) Checks whether the flag indicates additional info changes.static boolean
hasChangedCoreData
(int changes) Checks whether the flag indicates core data changes.static boolean
hasChangedLastLogin
(int changes) Checks whether the flag indicates last login date changes.static boolean
Checks if the given String starts withI_CmsPrincipal.PRINCIPAL_USER
followed by a dot.boolean
isGroup()
Returnstrue
if this principal is of type
.CmsGroup
boolean
Checks if this user is the default guest user.boolean
Returnstrue
if this user is not able to manage itself.boolean
Returnstrue
if this user was touched.boolean
isUser()
Returnstrue
if this principal is of type
.CmsUser
boolean
Checks if the user is marked as webuser.static String
removePrefix
(String principalName) Removes the prefix if the given String starts withI_CmsPrincipal.PRINCIPAL_USER
followed by a dot.void
setAdditionalInfo
(String key, Object value) Stores a value in this users "additional information" storage map with the given access key.void
setAdditionalInfo
(Map<String, Object> additionalInfo) Sets this users complete "additional information" storage map to the given value.void
setAddress
(String address) Sets the address line of this user.void
Sets the city information of this user.void
setCountry
(String country) Sets the country information of this user.void
setDescription
(String description) Sets the description of this principal.void
Sets the email address of this user.void
setFirstname
(String firstname) Sets the first name of this user.void
setInstitution
(String institution) Sets the institution information of this user.void
setLastlogin
(long value) Sets the last login time stamp of this user.void
setLastname
(String lastname) Sets the last name of this user.void
setManaged
(boolean value) Sets the managed flag for this user to the given value.void
setPassword
(String value) Sets the password of this user.void
setZipcode
(String zipcode) Sets the zip code information of this user.toString()
void
touch()
Sets the "touched" status of this user totrue
.Methods inherited from class org.opencms.security.CmsPrincipal
compareTo, equals, filterCoreFlag, filterCoreGroups, filterCoreUsers, filterFlag, getDisplayName, getFlags, getId, getName, getOuFqn, getPrefixedGroup, getPrefixedName, getPrefixedUser, getSimpleName, getType, hashCode, isEnabled, readPrefixedPrincipal, readPrincipal, readPrincipal, readPrincipal, readPrincipalIncludingHistory, setEnabled, setFlags, setName
-
Field Details
-
FLAG_ADDITIONAL_INFOS
Flag indicating changed additional infos.- See Also:
-
FLAG_CORE_DATA
Flag indicating changed core data.- See Also:
-
FLAG_LAST_LOGIN
Flag indicating a changed last login date.- See Also:
-
-
Constructor Details
-
CmsUser
public CmsUser()Creates a new, empty OpenCms user principal.Mostly intended to be used with the
org.opencms.workplace.tools.accounts.A_CmsEditUserDialog
. -
CmsUser
public CmsUser(CmsUUID id, String name, String password, String firstname, String lastname, String email, long lastlogin, int flags, long dateCreated, Map<String, Object> additionalInfo) Creates a new OpenCms user principal.- Parameters:
id
- the unique id of the new username
- the fully qualified name of the new userpassword
- the password of the userfirstname
- the first namelastname
- the last nameemail
- the email addresslastlogin
- time stampflags
- flagsdateCreated
- the creation dateadditionalInfo
- user related information
-
-
Method Details
-
checkEmail
Validates an email address.That means, the parameter should only be composed by digits and standard english letters, points, underscores and exact one "At" symbol.
- Parameters:
email
- the email to validate
-
checkZipCode
Validates a zip code.That means, the parameter should only be composed by digits and standard english letters.
- Parameters:
zipcode
- the zip code to validate
-
getFullName
Returns the "full" name of the given user in the format"{firstname} {lastname} ({username})"
, or the empty String""
if the user is null.- Parameters:
user
- the user to get the full name from- Returns:
- the "full" name the user
- See Also:
-
hasChangedAdditionalInfos
Checks whether the flag indicates additional info changes.- Parameters:
changes
- the changes flags- Returns:
true
in case the additional infos changed
-
hasChangedCoreData
Checks whether the flag indicates core data changes.- Parameters:
changes
- the changes flags- Returns:
true
in case the core data changed
-
hasChangedLastLogin
Checks whether the flag indicates last login date changes.- Parameters:
changes
- the changes flags- Returns:
true
in case the last login date changed
-
hasPrefix
Checks if the given String starts withI_CmsPrincipal.PRINCIPAL_USER
followed by a dot.- Works if the given String is
null
. - Removes white spaces around the String before the check.
- Also works with prefixes not being in upper case.
- Does not check if the user after the prefix actually exists.
- Parameters:
principalName
- the user name to check- Returns:
true
in case the String starts withI_CmsPrincipal.PRINCIPAL_USER
followed by a dot
- Works if the given String is
-
removePrefix
Removes the prefix if the given String starts withI_CmsPrincipal.PRINCIPAL_USER
followed by a dot.- Works if the given String is
null
. - If the given String does not start with
I_CmsPrincipal.PRINCIPAL_USER
followed by a dot it is returned unchanged. - Removes white spaces around the user name.
- Also works with prefixes not being in upper case.
- Does not check if the user after the prefix actually exists.
- Parameters:
principalName
- the user name to remove the prefix from- Returns:
- the given String with the prefix
I_CmsPrincipal.PRINCIPAL_USER
and the following dot removed
- Works if the given String is
-
checkName
Checks if the provided user name is a valid user name and can be used as an argument value forCmsPrincipal.setName(String)
.- Specified by:
checkName
in interfaceI_CmsPrincipal
- Parameters:
name
- the user name to check- Throws:
CmsIllegalArgumentException
- if the check fails
-
clone
-
deleteAdditionalInfo
Deletes a value from this users "additional information" storage map.- Parameters:
key
- the additional user information to delete- See Also:
-
getAdditionalInfo
Returns this users complete "additional information" storage map.The "additional information" storage map is a simple
Map
that can be used to store any key / value pairs for the user. Some information parts of the users address are stored in this map by default.- Returns:
- this users complete "additional information" storage map
-
getAdditionalInfo
Returns a value from this users "additional information" storage map, ornull
if no value for the given key is available.- Parameters:
key
- selects the value to return from the "additional information" storage map- Returns:
- the selected value from this users "additional information" storage map
- See Also:
-
getAddress
Returns the address line of this user.- Returns:
- the address line of this user
-
getChanges
Returns the changes of this user compared to the previous user data.- Parameters:
oldUser
- the old user- Returns:
- the changes flags
-
getCity
Returns the city information of this user.This information is stored in the "additional information" storage map using the key
.CmsUserSettings.ADDITIONAL_INFO_CITY
- Returns:
- the city information of this user
-
getCountry
Returns the country information of this user.This information is stored in the "additional information" storage map using the key
.CmsUserSettings.ADDITIONAL_INFO_COUNTRY
- Returns:
- the country information of this user
-
getDateCreated
Returns the creation date.- Returns:
- the creation date
-
getDescription
Description copied from interface:I_CmsPrincipal
Returns the description of this principal.- Specified by:
getDescription
in interfaceI_CmsPrincipal
- Overrides:
getDescription
in classCmsPrincipal
- Returns:
- the description of this principal
- See Also:
-
getDescription
Returns the description of this organizational unit.- Specified by:
getDescription
in interfaceI_CmsPrincipal
- Parameters:
locale
- the locale- Returns:
- the description of this organizational unit
-
getDisplayName
Description copied from class:CmsPrincipal
Returns the display name of this principal including the organizational unit.- Overrides:
getDisplayName
in classCmsPrincipal
- Parameters:
cms
- the cms contextlocale
- the locale- Returns:
- the display name of this principal including the organizational unit
- Throws:
CmsException
- if the organizational unit could not be read- See Also:
-
getEmail
Returns the email address of this user.- Returns:
- the email address of this user
-
getFirstname
Returns the first name of this user.- Returns:
- the first name of this user
-
getFullName
Returns the "full" name of the this user in the format"{firstname} {lastname} ({username})"
.- Returns:
- the "full" name this user
-
getInstitution
Returns the institution information of this user.This information is stored in the "additional information" storage map using the key
.CmsUserSettings.ADDITIONAL_INFO_INSTITUTION
- Returns:
- the institution information of this user
-
getLastlogin
Returns the time of the last login of this user.- Returns:
- the time of the last login of this user
-
getLastname
Returns the last name of this user.- Returns:
- the last name of this user
-
getPassword
Returns the encrypted user password.- Returns:
- the encrypted user password
-
getZipcode
Returns the zip code information of this user.This information is stored in the "additional information" storage map using the key
.CmsUserSettings.ADDITIONAL_INFO_ZIPCODE
- Returns:
- the zip code information of this user
-
isGroup
Description copied from interface:I_CmsPrincipal
Returnstrue
if this principal is of type
.CmsGroup
- Specified by:
isGroup
in interfaceI_CmsPrincipal
- Overrides:
isGroup
in classCmsPrincipal
- Returns:
true
if this principal is of typeCmsGroup
- See Also:
-
isGuestUser
Checks if this user is the default guest user.- Returns:
true
if this user is the default guest user
-
isManaged
Returnstrue
if this user is not able to manage itself.- Returns:
true
if this user is not able to manage itself
-
isTouched
Returnstrue
if this user was touched.- Returns:
- boolean true if this user was touched
-
isUser
Description copied from interface:I_CmsPrincipal
Returnstrue
if this principal is of type
.CmsUser
- Specified by:
isUser
in interfaceI_CmsPrincipal
- Overrides:
isUser
in classCmsPrincipal
- Returns:
true
if this principal is of typeCmsUser
- See Also:
-
isWebuser
Checks if the user is marked as webuser.- Returns:
true
if the user is marked as webuser
-
setAdditionalInfo
Sets this users complete "additional information" storage map to the given value.- Parameters:
additionalInfo
- the complete "additional information" map to set- See Also:
-
setAdditionalInfo
Stores a value in this users "additional information" storage map with the given access key.- Parameters:
key
- the key to store the value undervalue
- the value to store in the users "additional information" storage map- See Also:
-
setAddress
Sets the address line of this user.- Parameters:
address
- the address line to set
-
setCity
Sets the city information of this user.- Parameters:
city
- the city information to set
-
setCountry
Sets the country information of this user.- Parameters:
country
- the city information to set
-
setDescription
Description copied from interface:I_CmsPrincipal
Sets the description of this principal.- Specified by:
setDescription
in interfaceI_CmsPrincipal
- Overrides:
setDescription
in classCmsPrincipal
- Parameters:
description
- the principal description to set- See Also:
-
setEmail
Sets the email address of this user.- Parameters:
email
- the email address to set
-
setFirstname
Sets the first name of this user.- Parameters:
firstname
- the name to set
-
setInstitution
Sets the institution information of this user.- Parameters:
institution
- the institution information to set
-
setLastlogin
Sets the last login time stamp of this user.- Parameters:
value
- the last login time stamp to set
-
setLastname
Sets the last name of this user.- Parameters:
lastname
- the name to set
-
setManaged
Sets the managed flag for this user to the given value.- Parameters:
value
- the value to set
-
setPassword
Sets the password of this user.- Parameters:
value
- the password to set
-
setZipcode
Sets the zip code information of this user.- Parameters:
zipcode
- the zip code information to set
-
toString
-
touch
Sets the "touched" status of this user totrue
.
-