cutelyst 4.0.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
authenticationstore.h
1/*
2 * SPDX-FileCopyrightText: (C) 2013-2023 Daniel Nicoletti <dantti12@gmail.com>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#pragma once
6
7#include <Cutelyst/Plugins/Authentication/authentication.h>
8#include <Cutelyst/cutelyst_global.h>
9
10namespace Cutelyst {
11
12class CUTELYST_PLUGIN_AUTHENTICATION_EXPORT AuthenticationStore
13{
14public:
19 virtual ~AuthenticationStore();
20
21public:
26 virtual bool canAutoCreateUser() const;
27
32 virtual AuthenticationUser autoCreateUser(Context *c, const ParamsMultiMap &userinfo) const;
33
38 [[nodiscard]] virtual bool canAutoUpdateUser() const;
39
44 virtual AuthenticationUser autoUpdateUser(Context *c, const ParamsMultiMap &userinfo) const;
45
49 [[nodiscard]] virtual AuthenticationUser findUser(Context *c,
50 const ParamsMultiMap &userinfo) = 0;
51
59 virtual QVariant forSession(Context *c, const AuthenticationUser &user);
60
68 [[nodiscard]] virtual AuthenticationUser fromSession(Context *c, const QVariant &frozenUser);
69};
70
71} // namespace Cutelyst
virtual AuthenticationUser findUser(Context *c, const ParamsMultiMap &userinfo)=0
The Cutelyst Context.
Definition: context.h:38
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:8
QMultiMap< QString, QString > ParamsMultiMap