Wolframe, 0.0.3

_Wolframe::AAAA::AuthenticatorSlice Class Referenceabstract

This is the base class for authenticator slices implementations An authenticator has (usually) several authenticator slices The AuthenticatorSlice(s) are provided by the their respective AuthenticationUnit(s) in the AAAA provider. More...

#include <authSlice.hpp>

Public Types

enum  Status {
  MESSAGE_AVAILABLE, AWAITING_MESSAGE, USER_NOT_FOUND, AUTHENTICATED,
  INVALID_CREDENTIALS, SYSTEM_FAILURE
}
 

Public Member Functions

virtual ~AuthenticatorSlice ()
 The virtual destructor. More...
 
virtual void dispose ()=0
 
virtual const char * className () const =0
 
virtual const std::string & identifier () const =0
 
virtual void messageIn (const std::string &message)=0
 
virtual std::string messageOut ()=0
 
virtual Status status () const =0
 The current status of the authenticator. More...
 
virtual bool inputReusable () const
 
virtual void lastSlice ()
 
virtual Useruser ()=0
 

Static Public Member Functions

static const char * statusName (Status i)
 

Detailed Description

This is the base class for authenticator slices implementations An authenticator has (usually) several authenticator slices The AuthenticatorSlice(s) are provided by the their respective AuthenticationUnit(s) in the AAAA provider.

Member Enumeration Documentation

Enumerator
MESSAGE_AVAILABLE 

an output message is available

AWAITING_MESSAGE 

waiting for an input message

USER_NOT_FOUND 

this slice doesn't handle the credentials for the requested user

AUTHENTICATED 

a user has been authenticated

INVALID_CREDENTIALS 

the user authentication failed, either the username or the credentials are invalid

SYSTEM_FAILURE 

some other error occurred

Constructor & Destructor Documentation

virtual _Wolframe::AAAA::AuthenticatorSlice::~AuthenticatorSlice ( )
inlinevirtual

The virtual destructor.

Member Function Documentation

virtual const char* _Wolframe::AAAA::AuthenticatorSlice::className ( ) const
pure virtual

The class name of the authentication unit / subunit

Note
This is the name of the authentication type / class
virtual void _Wolframe::AAAA::AuthenticatorSlice::dispose ( )
pure virtual

Dispose of the authenticator

Note
In many cases this is a suicidal function (delete this), so you should be very careful how you use it. You should use this function instead of delete because not all authentication instances are created with new.
virtual const std::string& _Wolframe::AAAA::AuthenticatorSlice::identifier ( ) const
pure virtual

The identifier of the authentication unit / slice

Note
This is the identifier of the authentication unit / slice
virtual bool _Wolframe::AAAA::AuthenticatorSlice::inputReusable ( ) const
inlinevirtual

Is the last input message reusable for this mech ? If true then the last input message will be used also for the next slice in case of an USER_NOT_FOUND status otherwise a CLIENT_RESET will be issued

virtual void _Wolframe::AAAA::AuthenticatorSlice::lastSlice ( )
inlinevirtual

Tell the slice that it is the last one in the current authenticator. In this case, if the user is not found, the slice will not make the transition to USER_NOT_FOUND. Instead it will continue the operations normally, using fake data and will end up in the INVALID_CREDENTIALS state.

virtual void _Wolframe::AAAA::AuthenticatorSlice::messageIn ( const std::string &  message)
pure virtual

The input message

Parameters
[in]messagethe input message
virtual std::string _Wolframe::AAAA::AuthenticatorSlice::messageOut ( )
pure virtual

The output message

Returns
the output message
virtual Status _Wolframe::AAAA::AuthenticatorSlice::status ( ) const
pure virtual

The current status of the authenticator.

static const char* _Wolframe::AAAA::AuthenticatorSlice::statusName ( Status  i)
inlinestatic
virtual User* _Wolframe::AAAA::AuthenticatorSlice::user ( )
pure virtual

The authenticated user or NULL if not authenticated

Note
It is intended that this function can be called only once As a security precaution, all the instance information regarding the current authentication operation should be destroyed after calling this function

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