6#include <icomp/CComponentBase.h>
7#include <iauth/ILogin.h>
8#include <iauth/IRightsProvider.h>
11#include <imtauth/IAccessTokenController.h>
12#include <imtauth/IUserPermissionsController.h>
19class CSimpleLoginComp:
20 public icomp::CComponentBase,
21 virtual public iauth::ILogin,
22 virtual public iauth::IRightsProvider,
23 virtual public imtauth::IUserPermissionsController,
24 virtual public imtauth::IAccessTokenController
27 typedef icomp::CComponentBase BaseClass;
29 I_BEGIN_COMPONENT(CSimpleLoginComp);
30 I_REGISTER_INTERFACE(ILogin);
31 I_REGISTER_INTERFACE(IRightsProvider);
32 I_REGISTER_INTERFACE(IAccessTokenProvider);
33 I_REGISTER_INTERFACE(IAccessTokenController);
34 I_REGISTER_INTERFACE(IUserPermissionsController);
38 virtual iauth::CUser* GetLoggedUser()
const override;
39 virtual bool Login(
const QString& userName,
const QString& password)
override;
40 virtual bool Logout()
override;
43 virtual bool HasRight(
44 const QByteArray& operationId,
45 bool beQuiet =
false)
const override;
48 virtual QByteArrayList GetPermissions(
const QByteArray& userId)
const override;
49 virtual void SetPermissions(
const QByteArray& userId,
const QByteArrayList& permissions)
override;
52 virtual QByteArray GetToken(
const QByteArray& userId)
const override;
55 virtual bool SetToken(
const QByteArray& userId,
const QByteArray& accessToken)
override;
58 mutable iauth::CUser m_loggedUser;
59 QByteArray m_loggedUserId;
60 QByteArray m_loggedUserPassword;
61 QByteArray m_loggedUserToken;
62 QByteArrayList m_userPermissionIds;
Authentication GraphQL API Layer Module.