diff options
Diffstat (limited to 'include/sessions.hpp')
-rw-r--r-- | include/sessions.hpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/sessions.hpp b/include/sessions.hpp index cb7f78e78a..90a1de93de 100644 --- a/include/sessions.hpp +++ b/include/sessions.hpp @@ -2,10 +2,12 @@ #include "logging.hpp" #include "ossl_random.hpp" +#include "user_role_map.hpp" #include "utility.hpp" #include "utils/ip_utils.hpp" #include <nlohmann/json.hpp> +#include <sdbusplus/message.hpp> #include <algorithm> #include <csignal> @@ -256,11 +258,15 @@ class SessionStore } } + std::string userRole = crow::UserRoleMap::getInstance() + .getUserRole(username) + .userRole.value_or(""); + auto session = std::make_shared<UserSession>(UserSession{ uniqueId, sessionToken, std::string(username), csrfToken, clientId, redfish::ip_util::toString(clientIp), std::chrono::steady_clock::now(), persistence, false, - isConfigureSelfOnly}); + isConfigureSelfOnly, userRole}); auto it = authTokens.emplace(sessionToken, session); // Only need to write to disk if session isn't about to be destroyed. needWrite = persistence == PersistenceType::TIMEOUT; |