Package ch.autumo.beetroot
Class Session
java.lang.Object
ch.autumo.beetroot.Session
- All Implemented Interfaces:
Serializable
User session.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd uploaded files info .voidaddOrUpdateUserSetting(String key, String value) Add or update user setting.voidDelete internal generated 2FA code from session.voidClear all user data within session.voidClear all user data within session except a previously set language.Get uploaded files infocreateIdPair(int origId, String entity) Crate a new ID pair.voidDelete all parameters in this sessiondeleteUserSetting(String key) Delete user setting.voiddestroy(org.nanohttpd.protocols.http.content.CookieHandler cookies) Destroy session by given cookie handler holding the '__SESSION_ID__'.voiddestroyDelete(org.nanohttpd.protocols.http.content.CookieHandler cookies) Destroy session by given cookie handler holding the '__SESSION_ID__' and delete stored session.Get value.Date and time when the session has been created.Get CSRF token.Get internal generated 2FA code.getMapValue(String mapKey, String key) Get map value.getModifyId(int origId, String entity) Get modified ID based on original database ID.intGet original database ID based on modified ID.Get session ID.getUser()Get user.Get user email.Get full user name, can be first name or last name or both and first or last name is not present, the user name.intGet user DB id.Get user language.Get user name.Get user permissions.Get user roles (DB role table).Get user secret key.getUserSetting(String key) Get one user setting.Get user settings map.booleanUser has 2FA?booleanhasUserPermission(String perm) Check if user has a permission (DB role table).booleanhasUserRole(String role) Check if user has a role (DB role table).booleanChecks if this session is older than the timeout.booleanIs 2FA state set?voidrefresh()Refresh session to save from timeout.voidRemove a specific key.voidClean session from all ID pairs!voidRemove an ID pair by given modify ID and entity.voidRemove a specific map key.voidReset 2FA state.voidset(String key, Serializable value) Set a key/value pair.voidsetFormCsrfToken(String token) Set CSRF token.voidsetInternalTOTPCode(String genCode) Set internal generated 2FA code.voidsetMapValue(String mapKey, String key, String value) Set a key/value pair to a map.voidSet 2FA state totrue.voidsetUserData(User user, String roles, String permissions) Set user data.voidsetUserLang(String lang) Set user language.voidsetUserSettings(Map<String, String> settingsMap) Set user settings map.
-
Constructor Details
-
Session
New session with given session id '__SESSION_ID__' or what is configured.- Parameters:
sessionID- session id
-
-
Method Details
-
getCreated
Date and time when the session has been created.- Returns:
- creation date/time
-
refresh
public void refresh()Refresh session to save from timeout. -
isOlderThanSessionTimeout
public boolean isOlderThanSessionTimeout()Checks if this session is older than the timeout.- Returns:
- true if so
-
createIdPair
Crate a new ID pair. Remove old ID's if a pair is found associated to the original ID given. 2 ID pairs are 2 ID key/value pairs. Modify ID is the protected web GUI id.- Parameters:
origId- original id (database id)entity- entity- Returns:
- newly created modify ID
-
getModifyId
Get modified ID based on original database ID.- Parameters:
origId- original database IDentity- entity- Returns:
- modified ID
-
getOrigId
Get original database ID based on modified ID.- Parameters:
modifyId- modified IDentity- entity- Returns:
- original database ID
-
removeIds
Remove an ID pair by given modify ID and entity.- Parameters:
modifyId- modify IDentity- entity
-
removeAllIds
public void removeAllIds()Clean session from all ID pairs! -
setUserData
Set user data. Use user or or user roles depending if you use the simple role management or the full User-Role ACL.- Parameters:
user- userroles- user roles (comma-separated roles)permissions- user permissions (comma-separated permissions)
-
clearUserDataExceptLanguage
public void clearUserDataExceptLanguage()Clear all user data within session except a previously set language. -
clearUserData
public void clearUserData()Clear all user data within session. -
deleteAllParameters
public void deleteAllParameters()Delete all parameters in this session -
getSessionId
Get session ID.- Returns:
- session ID
-
setUserSettings
Set user settings map.- Parameters:
settingsMap- user settings map
-
getUserSettings
Get user settings map.- Returns:
- user settings map
-
getUserSetting
Get one user setting.- Parameters:
key- key- Returns:
- user setting
-
addOrUpdateUserSetting
Add or update user setting.- Parameters:
key- keyvalue- value
-
deleteUserSetting
Delete user setting.- Parameters:
key- key- Returns:
- old value of deleted entry
-
getUserId
public int getUserId()Get user DB id. Returns -1 is no user is present.- Returns:
- user DB id
-
getUserRoles
Get user roles (DB role table).- Returns:
- user roles
-
hasUserRole
Check if user has a role (DB role table).- Parameters:
role- user role- Returns:
- true, if so
-
getUserPermissions
Get user permissions.- Returns:
- user permissions
-
hasUserPermission
Check if user has a permission (DB role table).- Parameters:
perm- user permission- Returns:
- true, if so
-
getUser
Get user.- Returns:
- user or null
-
getUserName
Get user name.- Returns:
- user name
-
getUserEmail
Get user email.- Returns:
- user email
-
getUserSecretKey
Get user secret key.- Returns:
- user secret key
-
getUTwoFa
public boolean getUTwoFa()User has 2FA?- Returns:
- user has 2FA?
-
getUserLang
Get user language.- Returns:
- user language
-
setUserLang
Set user language.- Parameters:
lang- user language (ISO code 2 length)
-
setTwoFaLogin
public void setTwoFaLogin()Set 2FA state totrue. -
isTwoFaLoginOk
public boolean isTwoFaLoginOk()Is 2FA state set?- Returns:
- true is so
-
resetTwoFaLogin
public void resetTwoFaLogin()Reset 2FA state. -
addFiles
Add uploaded files info .- Parameters:
files- uploaded file info
-
consumeFiles
Get uploaded files info- Returns:
- uploaded files info
-
getUserFullNameOrUserName
Get full user name, can be first name or last name or both and first or last name is not present, the user name.- Returns:
- full name or user name
-
getFormCsrfToken
Get CSRF token.- Returns:
- CSRF token
-
setFormCsrfToken
Set CSRF token.- Parameters:
token- CSRF token
-
setInternalTOTPCode
Set internal generated 2FA code.- Parameters:
genCode- generated 2FA code
-
getInternalTOTPCode
Get internal generated 2FA code.- Returns:
- internal generated 2FA code
-
clearInternalTOTPCode
public void clearInternalTOTPCode()Delete internal generated 2FA code from session. -
getMapValue
Get map value.- Parameters:
mapKey- map keykey- key- Returns:
- value
-
setMapValue
Set a key/value pair to a map. This will internally create the map first if non-existent.- Parameters:
mapKey- map keykey- keyvalue- add a value to the map and key
-
removeMap
Remove a specific map key.- Parameters:
mapKey- map key
-
get
Get value.- Parameters:
key- key- Returns:
- value
-
set
Set a key/value pair. They are persisted in the session file if the server is stopped; you have to house-keep these values!- Parameters:
key- keyvalue- value
-
remove
Remove a specific key.- Parameters:
key- key
-
destroy
public void destroy(org.nanohttpd.protocols.http.content.CookieHandler cookies) Destroy session by given cookie handler holding the '__SESSION_ID__'.- Parameters:
cookies- cookie handler
-
destroyDelete
public void destroyDelete(org.nanohttpd.protocols.http.content.CookieHandler cookies) Destroy session by given cookie handler holding the '__SESSION_ID__' and delete stored session.- Parameters:
cookies- cookie handler
-