cutelyst 5.1.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
authenticationuser.h
1/*
2 * SPDX-FileCopyrightText: (C) 2013-2022 Daniel Nicoletti <dantti12@gmail.com>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef AUTHENTICATIONUSER_H
6#define AUTHENTICATIONUSER_H
7
8#include <Cutelyst/Plugins/authentication_export.h>
9#include <Cutelyst/paramsmultimap.h>
10#include <Cutelyst/plugin.h>
11
12#include <QDataStream>
13#include <QVariantMap>
14
15namespace Cutelyst {
16
17class AuthenticationRealm;
18class Context;
19
30class CUTELYST_PLUGIN_AUTHENTICATION_EXPORT AuthenticationUser
31{
32 Q_GADGET
33public:
38
42 explicit AuthenticationUser(const QVariant &id);
43
47 virtual ~AuthenticationUser();
48
52 [[nodiscard]] QVariant id() const;
53
57 void setId(const QVariant &id);
58
62 [[nodiscard]] bool isNull() const;
63
67 [[nodiscard]] QString authRealm();
68
72 void setAuthRealm(const QString &authRealm);
73
81 [[nodiscard]] bool checkPassword(Context *c,
83 const QString &password,
84 const QString &passwordField = QStringLiteral("password"));
85
89 [[nodiscard]] inline QVariantMap data() const;
90
94 inline void setData(const QVariantMap &data);
95
102 inline void insert(const QString &key, const QVariant &value);
103
110 [[nodiscard]] inline QVariant value(const QString &key,
111 const QVariant &defaultValue = QVariant()) const;
112
113 operator QVariant() const { return QVariant::fromValue(m_data); }
114
115protected:
116 QVariantMap m_data;
117};
118
119QVariantMap AuthenticationUser::data() const
120{
121 return m_data;
122}
123
124void AuthenticationUser::setData(const QVariantMap &data)
125{
126 m_data = data;
127}
128
129void AuthenticationUser::insert(const QString &key, const QVariant &value)
130{
131 m_data.insert(key, value);
132}
133
134QVariant AuthenticationUser::value(const QString &key, const QVariant &defaultValue) const
135{
136 return m_data.value(key, defaultValue);
137}
138
139} // namespace Cutelyst
140
141Q_DECLARE_METATYPE(Cutelyst::AuthenticationUser)
142QDataStream &operator<<(QDataStream &out, const Cutelyst::AuthenticationUser &myObj);
144
145QDebug CUTELYST_PLUGIN_AUTHENTICATION_EXPORT operator<<(QDebug dbg,
146 const Cutelyst::AuthenticationUser &user);
147
148#endif // AUTHENTICATIONUSER_H
Combines user store and credential validation into a named realm.
Container for user data retrieved from an AuthenticationStore.
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
void setData(const QVariantMap &data)
void insert(const QString &key, const QVariant &value)
The Cutelyst Context.
Definition context.h:42
The Cutelyst namespace holds all public Cutelyst API.
QVariant fromValue(T &&value)