Kea 2.7.5
|
Basic HTTP authentication configuration. More...
#include <basic_auth_config.h>
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 BasicHttpAuthClientList & | getClientList () const |
Returns the list of client configuration. | |
const BasicHttpAuthMap & | getCredentialMap () 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. | |
const std::string & | getDirectory () const |
Returns the common part for file paths (usually a directory). | |
const std::string & | getRealm () const |
Returns the realm. | |
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. | |
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. | |
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) | |
Basic HTTP authentication configuration.
Definition at line 117 of file basic_auth_config.h.
|
inlinevirtual |
Destructor.
Definition at line 120 of file basic_auth_config.h.
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.
user | User id. |
user_file | File with the user id. |
password | Password. |
password_file | File with the password. |
password_file_only | Flag true if the password file includes the user id too. |
user_context | Optional user context. |
BadValue | if the user id contains the ':' character. |
Definition at line 73 of file basic_auth_config.cc.
Referenced by parse().
|
virtual |
Validate HTTP request.
creator | The HTTP response creator. |
request | The HTTP request to validate. |
Implements isc::http::HttpAuthConfig.
Definition at line 342 of file basic_auth_config.cc.
References isc::http::auth_logger, getCredentialMap(), isc::http::HttpAuthConfig::getRealm(), isc::http::HTTP_CLIENT_REQUEST_AUTHORIZED, isc::http::HTTP_CLIENT_REQUEST_BAD_AUTH_HEADER, isc::http::HTTP_CLIENT_REQUEST_NO_AUTH_HEADER, isc::http::HTTP_CLIENT_REQUEST_NOT_AUTHORIZED, isc_throw, LOG_INFO, isc::util::str::lowercase(), isc::http::HttpRequest::recordBasicAuth_, isc::util::str::trim(), and isc::http::UNAUTHORIZED.
|
virtual |
Clear configuration.
Implements isc::http::HttpAuthConfig.
Definition at line 87 of file basic_auth_config.cc.
|
virtual |
Empty predicate.
Implements isc::http::HttpAuthConfig.
Definition at line 93 of file basic_auth_config.cc.
|
inline |
Returns the list of client configuration.
Definition at line 157 of file basic_auth_config.h.
|
inline |
Returns the credential and user id map.
Definition at line 164 of file basic_auth_config.h.
Referenced by checkAuth().
string isc::http::BasicHttpAuthConfig::getFileContent | ( | const std::string & | file_name | ) | const |
Get the content of {directory}/{file-name} regular file.
file_name | The file name. |
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().
|
virtual |
Parses basic HTTP authentication configuration.
config | Element holding the basic HTTP authentication configuration to be parsed. |
DhcpConfigError | when 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().
|
virtual |
Unparses 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().