Kea 2.5.8
isc::http::BasicHttpAuthConfig Class Reference

Basic HTTP authentication configuration. More...

#include <basic_auth_config.h>

+ Inheritance diagram for isc::http::BasicHttpAuthConfig:

Public Member Functions

virtual ~BasicHttpAuthConfig ()
 Destructor.
 
void add (const std::string &user, const std::string &user_file, const std::string &password, const std::string &password_file, bool password_file_only=false, const isc::data::ConstElementPtr &user_context=isc::data::ConstElementPtr())
 Add a client configuration.
 
virtual isc::http::HttpResponseJsonPtr checkAuth (const isc::http::HttpResponseCreator &creator, const isc::http::HttpRequestPtr &request) const
 Validate HTTP request.
 
virtual void clear ()
 Clear configuration.
 
virtual bool empty () const
 Empty predicate.
 
const BasicHttpAuthClientListgetClientList () const
 Returns the list of client configuration.
 
const BasicHttpAuthMapgetCredentialMap () const
 Returns the credential and user id map.
 
std::string getFileContent (const std::string &file_name) const
 Get the content of {directory}/{file-name} regular file.
 
void parse (const isc::data::ConstElementPtr &config)
 Parses basic HTTP authentication configuration.
 
virtual isc::data::ElementPtr toElement () const
 Unparses basic HTTP authentication configuration.
 
- Public Member Functions inherited from isc::http::HttpAuthConfig
virtual ~HttpAuthConfig ()
 Destructor.
 
virtual isc::http::HttpResponseJsonPtr checkAuth (const isc::http::HttpResponseCreator &creator, const isc::http::HttpRequestPtr &request) const =0
 Validate HTTP request.
 
virtual void clear ()=0
 Clear configuration.
 
virtual bool empty () const =0
 Empty predicate.
 
const std::string & getDirectory () const
 Returns the common part for file paths (usually a directory).
 
const std::string & getRealm () const
 Returns the realm.
 
virtual void parse (const isc::data::ConstElementPtr &config)=0
 Parses HTTP authentication configuration.
 
void setDirectory (const std::string &directory)
 Set the common part for file paths (usually a directory).
 
void setRealm (const std::string &realm)
 Set the realm.
 
virtual isc::data::ElementPtr toElement () const =0
 Unparses HTTP authentication configuration.
 
- Public Member Functions inherited from isc::data::UserContext
void contextToElement (data::ElementPtr map) const
 Merge unparse a user_context object.
 
data::ConstElementPtr getContext () const
 Returns const pointer to the user context.
 
void setContext (const data::ConstElementPtr &ctx)
 Sets user context.
 
- Public Member Functions inherited from isc::data::CfgToElement
virtual ~CfgToElement ()
 Destructor.
 
virtual isc::data::ElementPtr toElement () const =0
 Unparse a configuration object.
 

Additional Inherited Members

- Static Public Member Functions inherited from isc::data::UserContext
static data::ElementPtr toElement (data::ConstElementPtr map)
 Copy an Element map.
 
- Protected Attributes inherited from isc::data::UserContext
data::ConstElementPtr user_context_
 Pointer to the user context (may be NULL)
 

Detailed Description

Basic HTTP authentication configuration.

Definition at line 117 of file basic_auth_config.h.

Constructor & Destructor Documentation

◆ ~BasicHttpAuthConfig()

virtual isc::http::BasicHttpAuthConfig::~BasicHttpAuthConfig ( )
inlinevirtual

Destructor.

Definition at line 120 of file basic_auth_config.h.

Member Function Documentation

◆ add()

void isc::http::BasicHttpAuthConfig::add ( const std::string &  user,
const std::string &  user_file,
const std::string &  password,
const std::string &  password_file,
bool  password_file_only = false,
const isc::data::ConstElementPtr user_context = isc::data::ConstElementPtr() 
)

Add a client configuration.

Parameters
userUser id.
user_fileFile with the user id.
passwordPassword.
password_fileFile with the password.
password_file_onlyFlag true if the password file includes the user id too.
user_contextOptional user context.
Exceptions
BadValueif the user id contains the ':' character.

Definition at line 73 of file basic_auth_config.cc.

References isc::http::BasicHttpAuth::getCredential().

Referenced by parse().

+ Here is the call graph for this function:

◆ checkAuth()

HttpResponseJsonPtr isc::http::BasicHttpAuthConfig::checkAuth ( const isc::http::HttpResponseCreator creator,
const isc::http::HttpRequestPtr request 
) const
virtual

◆ clear()

void isc::http::BasicHttpAuthConfig::clear ( )
virtual

Clear configuration.

Implements isc::http::HttpAuthConfig.

Definition at line 87 of file basic_auth_config.cc.

◆ empty()

bool isc::http::BasicHttpAuthConfig::empty ( ) const
virtual

Empty predicate.

Returns
true if the configuration is empty so authentication is not required.

Implements isc::http::HttpAuthConfig.

Definition at line 93 of file basic_auth_config.cc.

◆ getClientList()

const BasicHttpAuthClientList & isc::http::BasicHttpAuthConfig::getClientList ( ) const
inline

Returns the list of client configuration.

Returns
List of basic HTTP authentication client configuration.

Definition at line 157 of file basic_auth_config.h.

◆ getCredentialMap()

const BasicHttpAuthMap & isc::http::BasicHttpAuthConfig::getCredentialMap ( ) const
inline

Returns the credential and user id map.

Returns
The basic HTTP authentication credential and user id map.

Definition at line 164 of file basic_auth_config.h.

Referenced by checkAuth().

◆ getFileContent()

string isc::http::BasicHttpAuthConfig::getFileContent ( const std::string &  file_name) const

Get the content of {directory}/{file-name} regular file.

Parameters
file_nameThe file name.
Returns
The content of the {directory}/{file-name} regular file.

Definition at line 98 of file basic_auth_config.cc.

References isc::util::file::getContent(), isc::http::HttpAuthConfig::getDirectory(), isc_throw, and isc::Exception::what().

Referenced by parse().

+ Here is the call graph for this function:

◆ parse()

void isc::http::BasicHttpAuthConfig::parse ( const isc::data::ConstElementPtr config)
virtual

Parses basic HTTP authentication configuration.

Parameters
configElement holding the basic HTTP authentication configuration to be parsed.
Exceptions
DhcpConfigErrorwhen the configuration is invalid.

Implements isc::http::HttpAuthConfig.

Definition at line 146 of file basic_auth_config.cc.

References add(), getFileContent(), isc_throw, isc::data::Element::list, isc::data::Element::map, isc::data::UserContext::setContext(), isc::http::HttpAuthConfig::setDirectory(), isc::http::HttpAuthConfig::setRealm(), isc::data::Element::string, and isc::Exception::what().

+ Here is the call graph for this function:

◆ toElement()

ElementPtr isc::http::BasicHttpAuthConfig::toElement ( ) const
virtual

Unparses basic HTTP authentication configuration.

Returns
A pointer to unparsed basic HTTP authentication configuration.

Implements isc::http::HttpAuthConfig.

Definition at line 120 of file basic_auth_config.cc.

References isc::data::UserContext::contextToElement(), isc::data::Element::create(), isc::data::Element::createList(), isc::data::Element::createMap(), isc::http::HttpAuthConfig::getDirectory(), and isc::http::HttpAuthConfig::getRealm().

+ Here is the call graph for this function:

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