![]() |
cutelyst 4.3.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Combines user store and credential validation into a named realm. More...
#include <Cutelyst/Plugins/Authentication/authenticationrealm.h>

Public Member Functions | |
| AuthenticationRealm (std::shared_ptr< AuthenticationStore > store, std::shared_ptr< AuthenticationCredential > credential, const QString &name=QLatin1String(defaultRealm), QObject *parent=nullptr) | |
| virtual AuthenticationUser | authenticate (Context *c, const ParamsMultiMap &authinfo) |
| std::shared_ptr< AuthenticationCredential > | credential () const noexcept |
| virtual AuthenticationUser | findUser (Context *c, const ParamsMultiMap &userinfo) |
| AuthenticationUser | persistUser (Context *c, const AuthenticationUser &user) |
| void | removePersistedUser (Context *c) |
| AuthenticationUser | restoreUser (Context *c, const QVariant &frozenUser) |
| std::shared_ptr< AuthenticationStore > | store () const noexcept |
| QVariant | userIsRestorable (Context *c) |
Public Member Functions inherited from Cutelyst::Component | |
| Component (QObject *parent=nullptr) | |
| virtual | ~Component () override |
| bool | execute (Context *c) |
| virtual bool | init (Application *application, const QVariantHash &args) |
| virtual Modifiers | modifiers () const |
| QString | name () const noexcept |
| QString | reverse () const noexcept |
| void | setName (const QString &name) |
| void | setReverse (const QString &reverse) |
Public Member Functions inherited from QObject | |
| QObject (QObject *parent) | |
| bool | blockSignals (bool block) |
| const QObjectList & | children () const const |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| void | deleteLater () |
| void | destroyed (QObject *obj) |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectInfo () const const |
| void | dumpObjectTree () const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (Qt::FindChildOptions options) const const |
| bool | inherits (const char *className) const const |
| void | installEventFilter (QObject *filterObj) |
| bool | isQuickItemType () const const |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| void | killTimer (int id) |
| virtual const QMetaObject * | metaObject () const const |
| void | moveToThread (QThread *targetThread) |
| QString | objectName () const const |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| QVariant | property (const char *name) const const |
| Q_CLASSINFO (Name, Value) | |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| Q_EMIT Q_EMIT | |
| Q_ENUM (...) | |
| Q_ENUM_NS (...) | |
| Q_ENUMS (...) | |
| Q_FLAG (...) | |
| Q_FLAG_NS (...) | |
| Q_FLAGS (...) | |
| Q_GADGET Q_GADGET | |
| Q_GADGET_EXPORT (EXPORT_MACRO) | |
| Q_INTERFACES (...) | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_MOC_INCLUDE Q_MOC_INCLUDE | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_OBJECT Q_OBJECT | |
| Q_PROPERTY (...) | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SLOT Q_SLOT | |
| Q_SLOTS Q_SLOTS | |
| T | qobject_cast (const QObject *object) |
| T | qobject_cast (QObject *object) |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| void | removeEventFilter (QObject *obj) |
| void | setObjectName (const QString &name) |
| void | setObjectName (QAnyStringView name) |
| void | setParent (QObject *parent) |
| bool | setProperty (const char *name, const QVariant &value) |
| bool | signalsBlocked () const const |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| QThread * | thread () const const |
Static Public Attributes | |
| static char * | defaultRealm |
Friends | |
| class | Authentication |
| class | AuthenticationPrivate |
Additional Inherited Members | |
Public Types inherited from Cutelyst::Component | |
| enum | Modifier { None , OnlyExecute , BeforeExecute , AroundExecute , AfterExecute } |
Static Public Member Functions inherited from QObject | |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
Protected Member Functions inherited from Cutelyst::Component | |
| Component (ComponentPrivate *d, QObject *parent=nullptr) | |
| virtual bool | afterExecute (Context *c) |
| void | applyRoles (const QStack< Component * > &roles) |
| virtual bool | aroundExecute (Context *c, QStack< Component * > stack) |
| virtual bool | beforeExecute (Context *c) |
| virtual bool | dispatcherReady (const Dispatcher *dispatch, Controller *controller) |
| virtual bool | doExecute (Context *c) |
Protected Member Functions inherited from QObject | |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | customEvent (QEvent *event) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| int | receivers (const char *signal) const const |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| virtual void | timerEvent (QTimerEvent *event) |
Properties inherited from QObject | |
| objectName | |
An AuthenticationRealm combines an AuthenticationStore with an AuthenticationCredential object to retrieve and validate user login data.
For an example implementation see Authentication overview.
Definition at line 30 of file authenticationrealm.h.
|
explicit |
Constructs a new AuthenticationRealm object with the given store, credential provider, name and parent.
Definition at line 20 of file authenticationrealm.cpp.
References Cutelyst::Component::name(), Cutelyst::Component::setName(), and QObject::setObjectName().
|
override |
Definition at line 33 of file authenticationrealm.cpp.
|
virtual |
Tries to authenticate the user with authinfo returning a non null AuthenticationUser on success.
Definition at line 68 of file authenticationrealm.cpp.
|
noexcept |
Returns the authentication credential object.
Definition at line 42 of file authenticationrealm.cpp.
|
virtual |
Tries to find the user with authinfo returning a non null AuthenticationUser on success.
Definition at line 47 of file authenticationrealm.cpp.
References Cutelyst::AuthenticationUser::authRealm(), Cutelyst::AuthenticationUser::isNull(), Cutelyst::Component::name(), and Cutelyst::AuthenticationUser::setAuthRealm().
Referenced by Cutelyst::CredentialPassword::authenticate().
| AuthenticationUser AuthenticationRealm::persistUser | ( | Context * | c, |
| const AuthenticationUser & | user | ||
| ) |
Stores the user on the session.
Definition at line 80 of file authenticationrealm.cpp.
References QObject::objectName, and Cutelyst::Session::setValue().
| void AuthenticationRealm::removePersistedUser | ( | Context * | c | ) |
Removes the user from the session.
Definition at line 73 of file authenticationrealm.cpp.
References Cutelyst::Session::deleteValues().
| AuthenticationUser AuthenticationRealm::restoreUser | ( | Context * | c, |
| const QVariant & | frozenUser | ||
| ) |
Retrieves the user frozenUser from the store.
Definition at line 88 of file authenticationrealm.cpp.
References Cutelyst::AuthenticationUser::isNull(), QVariant::isNull(), QObject::objectName, Cutelyst::AuthenticationUser::setAuthRealm(), and userIsRestorable().
|
noexcept |
Returns the authentication store object.
Definition at line 37 of file authenticationrealm.cpp.
Checks if user can be retrieved.
Definition at line 113 of file authenticationrealm.cpp.
References Cutelyst::Session::value().
Referenced by restoreUser().
|
friend |
Definition at line 92 of file authenticationrealm.h.
|
friend |
Definition at line 93 of file authenticationrealm.h.
|
static |
Default realm name.
Definition at line 37 of file authenticationrealm.h.