cutelyst 5.1.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
9namespace Cutelyst {
10
21class CUTELYST_PLUGIN_AUTHENTICATION_EXPORT AuthenticationStore
22{
23public:
28 virtual bool
29 validatePassword(Context *c, const AuthenticationUser &user, const QString &password) const;
30
35
39 virtual ~AuthenticationStore();
40
41public:
45 virtual bool canAutoCreateUser() const;
46
51 virtual AuthenticationUser autoCreateUser(Context *c, const ParamsMultiMap &userinfo) const;
52
57 [[nodiscard]] virtual bool canAutoUpdateUser() const;
58
63 virtual AuthenticationUser autoUpdateUser(Context *c, const ParamsMultiMap &userinfo) const;
64
68 [[nodiscard]] virtual AuthenticationUser findUser(Context *c,
69 const ParamsMultiMap &userinfo) = 0;
70
78 virtual QVariant forSession(Context *c, const AuthenticationUser &user);
79
87 [[nodiscard]] virtual AuthenticationUser fromSession(Context *c, const QVariant &frozenUser);
88};
89
90} // namespace Cutelyst
Abstract class to retrieve user data from a store.
virtual AuthenticationUser findUser(Context *c, const ParamsMultiMap &userinfo)=0
Container for user data retrieved from an AuthenticationStore.
The Cutelyst Context.
Definition context.h:42
The Cutelyst namespace holds all public Cutelyst API.