20#ifndef ORES_WT_SERVICE_SESSION_MANAGER_HPP
21#define ORES_WT_SERVICE_SESSION_MANAGER_HPP
25#include <boost/uuid/uuid.hpp>
26#include <boost/asio/ip/address.hpp>
28namespace ores::wt::service {
35 std::string error_message;
36 boost::uuids::uuid account_id;
39 bool password_reset_required =
false;
46 boost::uuids::uuid account_id;
61 login_result login(
const std::string& username,
const std::string& password,
62 const std::string& client_ip);
66 bool is_logged_in()
const {
return session_.has_value(); }
68 const std::optional<session_data>& session()
const {
return session_; }
70 bool has_permission(
const std::string& permission)
const;
72 login_result create_bootstrap_admin(
const std::string& username,
73 const std::string& email,
74 const std::string& password);
77 std::optional<session_data> session_;
Result of a login attempt.
Definition session_manager.hpp:33
Current session information.
Definition session_manager.hpp:45
Manages user authentication sessions for a single Wt application.
Definition session_manager.hpp:57