PTLib
Version 2.18.8
|
This class describes the simple authorisation mechanism for a Universal Resource Locator, a fixed realm, multiple usernames and passwords. More...
#include <http.h>
Public Member Functions | |
PHTTPMultiSimpAuth (const PString &realm) | |
PHTTPMultiSimpAuth (const PString &realm, const PStringToString &userList) | |
virtual PObject * | Clone () 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 authirisation is to be applied. More... | |
void | AddUser (const PString &username, const PString &password) |
Get the user name allocated to this simple authorisation. More... | |
![]() | |
__inline unsigned | GetTraceContextIdentifier () const |
Get PTRACE context identifier. More... | |
__inline void | SetTraceContextIdentifier (unsigned id) |
__inline void | SetTraceContextIdentifier (const PObject &obj) |
__inline void | SetTraceContextIdentifier (const PObject *obj) |
__inline void | CopyTraceContextIdentifier (PObject &obj) const |
__inline void | CopyTraceContextIdentifier (PObject *obj) const |
virtual | ~PObject () |
__inline const char * | GetClass () const |
__inline bool | IsClass (const char *name) const |
__inline const PObject * | PTraceObjectInstance () const |
template<class CLS > | |
CLS * | CloneAs () const |
As for Clone() but converts to specified type. More... | |
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 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 | m_realm |
PStringToString | m_users |
![]() | |
unsigned | m_traceContextIdentifier |
Additional Inherited Members | |
![]() | |
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
![]() | |
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) |
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) |
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) |
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) |
static __inline const char * | Class () |
static __inline const PObject * | PTraceObjectInstance (const char *) |
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
template<typename T > | |
static Comparison | Compare2 (T v1, T v2) |
Compare two types, returning Comparison type. More... | |
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
Internal function caled from CompareObjectMemoryDirect() More... | |
![]() | |
PObject () | |
Constructor for PObject, made protected so cannot ever create one on its own. More... | |
![]() | |
static void | DecodeBasicAuthority (const PString &authInfo, PString &username, PString &password) |
This class describes the simple authorisation mechanism for a Universal Resource Locator, a fixed realm, multiple usernames and passwords.
PHTTPMultiSimpAuth::PHTTPMultiSimpAuth | ( | const PString & | realm | ) |
realm | Name space for the username and password. |
PHTTPMultiSimpAuth::PHTTPMultiSimpAuth | ( | const PString & | realm, |
const PStringToString & | userList | ||
) |
realm | Name space for the usernames. |
userList | List of usernames and passwords. |
Get the user name allocated to this simple authorisation.
username | Username that this object wiull authorise. |
password | Password for the above username. |
|
virtual |
Create a copy of the class on the heap.
This is used by the PHTTPResource
classes for maintaining authorisation to resources.
Reimplemented from PObject.
|
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.
request | Request information. |
Implements PHTTPAuthority.
|
virtual |
Determine if the authirisation 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.
Reimplemented from PHTTPAuthority.
|
virtual |
Validate the user and password provided by the remote HTTP client for the realm specified by the class instance.
request | Request information. |
authInfo | Authority information string. |
Implements PHTTPAuthority.
|
protected |
|
protected |