otsdaq  v2_03_00
ots::WebUsers Class Reference

Classes

struct  RequestUserInfo
 

Public Types

enum  {
  SESSION_ID_LENGTH = 512, COOKIE_CODE_LENGTH = 512, NOT_FOUND_IN_DATABASE = uint64_t(-1), USERNAME_LENGTH = 4,
  DISPLAY_NAME_LENGTH = 4
}
 
enum  {
  PERMISSION_LEVEL_ADMIN, PERMISSION_LEVEL_EXPERT = 100, PERMISSION_LEVEL_USER = 10, PERMISSION_LEVEL_NOVICE = 1,
  PERMISSION_LEVEL_INACTIVE = 0
}
 
using permissionLevel_t = uint8_t
 

Public Member Functions

bool xmlRequestOnGateway (cgicc::Cgicc &cgi, std::ostringstream *out, HttpXmlDocument *xmldoc, WebUsers::RequestUserInfo &userInfo)
 
bool createNewAccount (const std::string &username, const std::string &displayName, const std::string &email)
 
void cleanupExpiredEntries (std::vector< std::string > *loggedOutUsernames=0)
 
std::string createNewLoginSession (const std::string &uuid, const std::string &ip)
 
uint64_t attemptActiveSession (const std::string &uuid, std::string &jumbledUser, const std::string &jumbledPw, std::string &newAccountCode, const std::string &ip)
 
uint64_t attemptActiveSessionWithCert (const std::string &uuid, std::string &jumbledEmail, std::string &cookieCode, std::string &username, const std::string &ip)
 
uint64_t isCookieCodeActiveForLogin (const std::string &uuid, std::string &cookieCode, std::string &username)
 
bool cookieCodeIsActiveForRequest (std::string &cookieCode, std::map< std::string, WebUsers::permissionLevel_t > *userPermissions=0, uint64_t *uid=0, const std::string &ip="0", bool refresh=true, std::string *userWithLock=0, uint64_t *activeUserSessionIndex=0)
 
uint64_t cookieCodeLogout (const std::string &cookieCode, bool logoutOtherUserSessions, uint64_t *uid=0, const std::string &ip="0")
 
bool checkIpAccess (const std::string &ip)
 
std::string getUsersDisplayName (uint64_t uid)
 
std::string getUsersUsername (uint64_t uid)
 
uint64_t getActiveSessionCountForUser (uint64_t uid)
 
std::map< std::string,
WebUsers::permissionLevel_t > 
getPermissionsForUser (uint64_t uid)
 
void insertSettingsForUser (uint64_t uid, HttpXmlDocument *xmldoc, bool includeAccounts=false)
 
std::string getGenericPreference (uint64_t uid, const std::string &preferenceName, HttpXmlDocument *xmldoc=0) const
 
void changeSettingsForUser (uint64_t uid, const std::string &bgcolor, const std::string &dbcolor, const std::string &wincolor, const std::string &layout, const std::string &syslayout)
 
void setGenericPreference (uint64_t uid, const std::string &preferenceName, const std::string &preferenceValue)
 
void modifyAccountSettings (uint64_t actingUid, uint8_t cmd_type, const std::string &username, const std::string &displayname, const std::string &email, const std::string &permissions)
 
bool setUserWithLock (uint64_t actingUid, bool lock, const std::string &username)
 
std::string getUserWithLock (void)
 
std::string getActiveUsersString (void)
 
bool getUserInfoForCookie (std::string &cookieCode, std::string *userName, std::string *displayName=0, uint64_t *activeSessionIndex=0)
 
bool isUsernameActive (const std::string &username) const
 
bool isUserIdActive (uint64_t uid) const
 
uint64_t getAdminUserID (void)
 
std::string getSecurity (void)
 
void saveActiveSessions (void)
 
void loadActiveSessions (void)
 

Static Public Member Functions

static void initializeRequestUserInfo (cgicc::Cgicc &cgi, WebUsers::RequestUserInfo &userInfo)
 
static bool checkRequestAccess (cgicc::Cgicc &cgi, std::ostringstream *out, HttpXmlDocument *xmldoc, WebUsers::RequestUserInfo &userInfo, bool isWizardMode=false)
 
static void tooltipCheckForUsername (const std::string &username, HttpXmlDocument *xmldoc, const std::string &srcFile, const std::string &srcFunc, const std::string &srcId)
 
static void tooltipSetNeverShowForUsername (const std::string &username, HttpXmlDocument *xmldoc, const std::string &srcFile, const std::string &srcFunc, const std::string &srcId, bool doNeverShow, bool temporarySilence)
 
static void deleteUserData (void)
 
static void resetAllUserTooltips (const std::string &userNeedle="*")
 
static void NACDisplayThread (const std::string &nac, const std::string &user)
 

Static Public Attributes

static const std::string DEFAULT_ADMIN_USERNAME = "admin"
 
static const std::string DEFAULT_ADMIN_DISPLAY_NAME = "Administrator"
 
static const std::string DEFAULT_ADMIN_EMAIL = "root@otsdaq.fnal.gov"
 
static const std::string DEFAULT_ITERATOR_USERNAME = "iterator"
 
static const std::string DEFAULT_STATECHANGER_USERNAME = "statechanger"
 
static const std::string DEFAULT_USER_GROUP = "allUsers"
 
static const std::string REQ_NO_LOGIN_RESPONSE = "NoLogin"
 
static const std::string REQ_NO_PERMISSION_RESPONSE = "NoPermission"
 
static const std::string REQ_USER_LOCKOUT_RESPONSE = "UserLockout"
 
static const std::string REQ_LOCK_REQUIRED_RESPONSE = "LockRequired"
 
static const std::string REQ_ALLOW_NO_USER = "AllowNoUser"
 
static const std::string SECURITY_TYPE_NONE = "NoSecurity"
 
static const std::string SECURITY_TYPE_DIGEST_ACCESS = "DigestAccessAuthentication"
 

Detailed Description

Definition at line 30 of file WebUsers.h.


The documentation for this class was generated from the following files: