PLCnext API Documentation 23.6.0.37
IAuthorizationProvider.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
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
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
@ System
System components used by the System, Device, Plc or Io domains.
Operation
Allows to describe operations which are requested or allowed on objects.
Definition: Operation.hpp:39
Root namespace for the PLCnext API