PLCnext API Documentation 25.0.2.69
IAuthorizationProvider.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Um/Commons/Operation.hpp"
9#include "Arp/System/Um/Commons/SessionInfo.hpp"
10namespace Arp { namespace System { namespace Um { namespace Commons
11{
12
15
21{
22public: // typedefs
23 using Ptr = std::shared_ptr<IAuthorizationProvider>;
24
25public: // construction/destruction
27 IAuthorizationProvider(void) = default;
37 virtual ~IAuthorizationProvider(void) = default;
38
39public: // abstract operations
40
50 virtual boolean SessionHasPermissionOnObject(const String& objectName,
51 Operation operation, SessionInfo& session) = 0;
52
53};
54
55}}}} // end of namespace Arp::System::Um::Commons
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Interface to be implemented by an additional authorization provider, which is loaded from a user-prov...
Definition: IAuthorizationProvider.hpp:21
IAuthorizationProvider(IAuthorizationProvider &&arg)=default
Move constructor.
IAuthorizationProvider & operator=(const IAuthorizationProvider &arg)=default
Copy-assignment operator.
IAuthorizationProvider(void)=default
Constructs an IAuthorizationProvider instance.
IAuthorizationProvider(const IAuthorizationProvider &arg)=default
Copy constructor.
IAuthorizationProvider & operator=(IAuthorizationProvider &&arg)=default
Move-assignment operator.
virtual ~IAuthorizationProvider(void)=default
Destructs this instance and frees all resources.
virtual boolean SessionHasPermissionOnObject(const String &objectName, Operation operation, SessionInfo &session)=0
This is called only if the default authorization check on the session returns true,...
This class a SessionInfo instance with given role list
Definition: SessionInfo.hpp:19
Operation
Allows to describe operations which are requested or allowed on objects.
Definition: Operation.hpp:39
Root namespace for the PLCnext API