PTLib  Version 2.10.11
PHTTPSimpleAuth Class Reference

This class describes the simplest authorisation mechanism for a Universal Resource Locator, a fixed realm, username and password. More...

#include <http.h>

Inheritance diagram for PHTTPSimpleAuth:
PHTTPAuthority PObject

Public Member Functions

 PHTTPSimpleAuth (const PString &realm, const PString &username, const PString &password)
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
virtual PString GetRealm (const PHTTPRequest &request) const
 Get the realm or name space for the user authorisation name and password as required by the basic authorisation system of HTTP/1.0. More...
 
virtual PBoolean Validate (const PHTTPRequest &request, const PString &authInfo) const
 Validate the user and password provided by the remote HTTP client for the realm specified by the class instance. More...
 
virtual PBoolean IsActive () const
 Determine if the authorisation is to be applied. More...
 
const PStringGetUserName () const
 Get the user name allocated to this simple authorisation. More...
 
const PStringGetPassword () const
 Get the password allocated to this simple authorisation. More...
 
- Public Member Functions inherited from PObject
virtual ~PObject ()
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 

Protected Attributes

PString realm
 
PString username
 
PString password
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Static Public Member Functions inherited from PObject
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
static const char * Class ()
 Get the name of the class as a C string. More...
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 
- Static Protected Member Functions inherited from PHTTPAuthority
static void DecodeBasicAuthority (const PString &authInfo, PString &username, PString &password)
 

Detailed Description

This class describes the simplest authorisation mechanism for a Universal Resource Locator, a fixed realm, username and password.

Constructor & Destructor Documentation

§ PHTTPSimpleAuth()

PHTTPSimpleAuth::PHTTPSimpleAuth ( const PString realm,
const PString username,
const PString password 
)
Parameters
realmName space for the username and password.
usernameUsername that this object wiull authorise.
passwordPassword for the above username.

Member Function Documentation

§ Clone()

virtual PObject* PHTTPSimpleAuth::Clone ( ) const
virtual

Create a copy of the class on the heap.

This is used by the PHTTPResource classes for maintaining authorisation to resources.

Returns
pointer to new copy of the class instance.

Reimplemented from PObject.

§ GetPassword()

const PString& PHTTPSimpleAuth::GetPassword ( ) const
inline

Get the password allocated to this simple authorisation.

Returns
String for the authorisation password.

§ GetRealm()

virtual PString PHTTPSimpleAuth::GetRealm ( const PHTTPRequest request) const
virtual

Get the realm or name space for the user authorisation name and password as required by the basic authorisation system of HTTP/1.0.

Returns
String for the authorisation realm name.
Parameters
requestRequest information.

Implements PHTTPAuthority.

§ GetUserName()

const PString& PHTTPSimpleAuth::GetUserName ( ) const
inline

Get the user name allocated to this simple authorisation.

Returns
String for the authorisation user name.

§ IsActive()

virtual PBoolean PHTTPSimpleAuth::IsActive ( ) const
virtual

Determine if the authorisation is to be applied.

This could be used to distinguish between net requiring authorisation and requiring autorisation but having no password.

The default behaviour is to return true.

Returns
true if the authorisation in the realm is to be applied.

Reimplemented from PHTTPAuthority.

§ Validate()

virtual PBoolean PHTTPSimpleAuth::Validate ( const PHTTPRequest request,
const PString authInfo 
) const
virtual

Validate the user and password provided by the remote HTTP client for the realm specified by the class instance.

Returns
true if the user and password are authorised in the realm.
Parameters
requestRequest information.
authInfoAuthority information string.

Implements PHTTPAuthority.

Member Data Documentation

§ password

PString PHTTPSimpleAuth::password
protected

§ realm

PString PHTTPSimpleAuth::realm
protected

§ username

PString PHTTPSimpleAuth::username
protected

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