Kea 3.3.4
isc::rbac::Role Class Referenceabstract

Role assignment base class. More...

#include <rbac_role.h>

Inheritance diagram for isc::rbac::Role:

Public Member Functions

 Role (const std::string &name)
 Constructor.
virtual ~Role ()=default
 Destructor.
virtual std::string assign (const http::HttpRequestPtr &request)=0
 Assign the role.
std::string getName () const
 Returns the name.
virtual void setup (bool load)=0
 Setup HTTP library.

Static Public Member Functions

static RolePtr parse (data::ConstElementPtr cfg)
 Parse a role assignment value.
static bool requireTls (const http::HttpRequestPtr &request)
 Require TLS.

Protected Attributes

std::string name_
 The class name.

Detailed Description

Role assignment base class.

Definition at line 23 of file rbac_role.h.

Constructor & Destructor Documentation

◆ Role()

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

Constructor.

Parameters
nameName of the role assignment class.
Exceptions
Unexpectedwhen name is empty.

Definition at line 30 of file rbac_role.h.

References name_.

Referenced by isc::rbac::BasicAuthRole::BasicAuthRole(), isc::rbac::CustomRole::CustomRole(), isc::rbac::IssuerRole::IssuerRole(), isc::rbac::RemoteRole::RemoteRole(), isc::rbac::StaticRole::StaticRole(), and isc::rbac::SubjectRole::SubjectRole().

◆ ~Role()

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

Destructor.

Member Function Documentation

◆ assign()

virtual std::string isc::rbac::Role::assign ( const http::HttpRequestPtr & request)
pure virtual

Assign the role.

Parameters
requestThe HTTP request.
Returns
the assigned role.

Implemented in isc::rbac::BasicAuthRole, isc::rbac::CustomRole, isc::rbac::IssuerRole, isc::rbac::RemoteRole, isc::rbac::StaticRole, and isc::rbac::SubjectRole.

◆ getName()

std::string isc::rbac::Role::getName ( ) const
inline

Returns the name.

Returns
the name.

Definition at line 42 of file rbac_role.h.

References name_.

◆ parse()

RolePtr isc::rbac::Role::parse ( data::ConstElementPtr cfg)
static

Parse a role assignment value.

Parameters
cfgConfiguration of a role assignment.
Returns
The role as specified by the configuration.

Definition at line 22 of file rbac_role.cc.

References isc_throw, and Element::string.

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

◆ requireTls()

bool isc::rbac::Role::requireTls ( const http::HttpRequestPtr & request)
inlinestatic

Require TLS.

Parameters
requestThe HTTP request.
Returns
whether TLS is used.

Definition at line 61 of file rbac_role.h.

Referenced by http_auth().

◆ setup()

virtual void isc::rbac::Role::setup ( bool load)
pure virtual

Setup HTTP library.

Parameters
loadTrue if at load, false at unload.

Implemented in isc::rbac::BasicAuthRole, isc::rbac::CustomRole, isc::rbac::IssuerRole, isc::rbac::RemoteRole, isc::rbac::StaticRole, and isc::rbac::SubjectRole.

References load().

Here is the call graph for this function:

Member Data Documentation

◆ name_

std::string isc::rbac::Role::name_
protected

The class name.

Definition at line 73 of file rbac_role.h.

Referenced by Role(), and getName().


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