cutelyst  3.9.1
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-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef AUTHENTICATION_STORE_H
6 #define AUTHENTICATION_STORE_H
7 
8 #include <Cutelyst/Plugins/Authentication/authentication.h>
9 #include <Cutelyst/cutelyst_global.h>
10 
11 namespace Cutelyst {
12 
13 class CUTELYST_PLUGIN_AUTHENTICATION_EXPORT AuthenticationStore : public QObject
14 {
15  Q_OBJECT
16 public:
20  explicit AuthenticationStore(QObject *parent = nullptr);
21  virtual ~AuthenticationStore();
22 
23 public:
28  virtual bool canAutoCreateUser() const;
29 
34  virtual AuthenticationUser autoCreateUser(Context *c, const ParamsMultiMap &userinfo) const;
35 
40  virtual bool canAutoUpdateUser() const;
41 
46  virtual AuthenticationUser autoUpdateUser(Context *c, const ParamsMultiMap &userinfo) const;
47 
51  virtual AuthenticationUser findUser(Context *c, const ParamsMultiMap &userinfo) = 0;
52 
60  virtual QVariant forSession(Context *c, const AuthenticationUser &user);
61 
69  virtual AuthenticationUser fromSession(Context *c, const QVariant &frozenUser);
70 };
71 
72 } // namespace Cutelyst
73 
74 #endif // AUTHENTICATIONSTORE_H
The Cutelyst Context.
Definition: context.h:38
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7