All Classes Namespaces Functions Variables Groups Pages
HttpServer::AbstractAuthenticator Class Reference

abstract base class for external authentication More...

## Public Member Functions

bool | requiresAuthentication ()
| called to check if the connection requires authentication
string | getRealm ()
| returns the authentication realm as a string
list | authenticate (string user, string pass="")
| called to authenticate a user for a connection; should return a list of roles for the user if the user is authenticated
list | authenticateByIP (string ip, reference user)
| called when the connection requires authentication, but no authentication credentials were supplied, to try to authenticate the connection based on the source IP address

## Detailed Description

abstract base class for external authentication

This class should be inherited by a class providing real authentication

## Member Function Documentation

list HttpServer::AbstractAuthenticator::authenticate | ( | string | user,
|  | string | pass = `""`
| ) |  |

called to authenticate a user for a connection; should return a list of roles for the user if the user is authenticated

This method will only be called if requiresAuthentication() returns True

Parameters

  user | the username to authenticate
  pass | the password for the user

Returns
  a list of roles for the user if the user can be authenticated (this method returns an empty list by default)

Exceptions

  AUTHENTICATION-ERROR | subclasses should throw this exception if the user cannot be authenticated (however this method will never throw any exceptions)

list HttpServer::AbstractAuthenticator::authenticateByIP | ( | string | ip,
|  | reference | user
| ) |  |

called when the connection requires authentication, but no authentication credentials were supplied, to try to authenticate the connection based on the source IP address

This method will only be called if requiresAuthentication() returns True and no authentication credentials are supplied with the request

Parameters

  ip | the IP address of the source connection
  user | a reference to a string that will be populated with the username to use if the request can be authenticated based on the source IP address (this method returns the string `"admin"`)

Returns
  a list of roles if the authentication request is successful (this method returns an empty list by default)

Exceptions

  AUTHENTICATION-ERROR | subclasses should throw this exception if the user cannot be authenticated (however this base class method as implemented here will never throw any exceptions but instead just returns an empty list by default)

string HttpServer::AbstractAuthenticator::getRealm | ( |  | ) |

returns the authentication realm as a string

Returns
  the authentication realm as a string (default: `"Default Authentication Realm"`)

bool HttpServer::AbstractAuthenticator::requiresAuthentication | ( |  | ) |

called to check if the connection requires authentication

Returns
  True if authentication is enabled, False if not (False is the default value returned)