Kea 3.3.4
isc::rbac::Acl Class Referenceabstract

Access control list base class. More...

#include <rbac_acl.h>

Inheritance diagram for isc::rbac::Acl:

Public Member Functions

 Acl (const std::string &name)
 Constructor.
virtual ~Acl ()=default
 Destructor.
std::string getClassName () const
 Returns the class name.
virtual bool match (const std::string &command)=0
 Match the access control list.

Static Public Member Functions

static void initTable ()
 Initialize the access control list table.
static AclPtr parse (data::ConstElementPtr cfg)
 Parse an access control list.
static AclList parseList (data::ConstElementPtr cfg)
 Parse a list of access control lists.

Protected Attributes

std::string name_
 The class name.

Detailed Description

Access control list base class.

Definition at line 38 of file rbac_acl.h.

Constructor & Destructor Documentation

◆ Acl()

isc::rbac::Acl::Acl ( const std::string & name)
inline

◆ ~Acl()

virtual isc::rbac::Acl::~Acl ( )
virtualdefault

Destructor.

Member Function Documentation

◆ getClassName()

std::string isc::rbac::Acl::getClassName ( ) const
inline

Returns the class name.

Returns
the class name.

Definition at line 57 of file rbac_acl.h.

References name_.

◆ initTable()

void isc::rbac::Acl::initTable ( )
static

Initialize the access control list table.

Definition at line 26 of file rbac_acl.cc.

References isc::rbac::aclTable.

Referenced by isc::rbac::Config::init().

◆ match()

virtual bool isc::rbac::Acl::match ( const std::string & command)
pure virtual

Match the access control list.

Parameters
commandThe command.
Returns
whether the command matches the access control list.

Implemented in isc::rbac::AccessAcl, isc::rbac::AliasAcl, isc::rbac::AllAcl, isc::rbac::AndAcl, isc::rbac::CommandsAcl, isc::rbac::HookAcl, isc::rbac::NoneAcl, isc::rbac::NotAcl, and isc::rbac::OrAcl.

◆ parse()

AclPtr isc::rbac::Acl::parse ( data::ConstElementPtr cfg)
static

Parse an access control list.

Parameters
cfgConfiguration of an access control list.
Returns
the parsed access control list.

Definition at line 35 of file rbac_acl.cc.

References isc::rbac::aclTable, isc::rbac::apiAccesses, isc::rbac::apiHooks, isc::rbac::Api::getApiByName(), isc_throw, Element::list, Element::map, parse(), parseList(), and Element::string.

Referenced by parse(), isc::rbac::AliasAcl::parse(), isc::rbac::RoleConfig::parse(), and parseList().

Here is the call graph for this function:

◆ parseList()

AclList isc::rbac::Acl::parseList ( data::ConstElementPtr cfg)
static

Parse a list of access control lists.

Parameters
cfgConfiguration of a list of access control lists.
Returns
the list of parsed access control lists.

Definition at line 119 of file rbac_acl.cc.

References isc_throw, Element::list, and parse().

Referenced by parse().

Here is the call graph for this function:

Member Data Documentation

◆ name_

std::string isc::rbac::Acl::name_
protected

The class name.

Definition at line 84 of file rbac_acl.h.

Referenced by Acl(), and getClassName().


The documentation for this class was generated from the following files: