FirebirdSQL logo

IWriter

Interface IWriter — Enregistre le bloc Paramètre d’authentification.

  1. reset

    void reset()

    Efface le bloc cible.

  2. add

    void add(StatusType* status, const char* name)

    Ajoute un nom d’utilisateur.

  3. setType

    void setType(StatusType* status, const char* value)

    Définit le type de connexion à ajouter (utilisateur, rôle, groupe, etc.).

  4. setDb

    void setDb(StatusType* status, const char* value)

    Installe la base de données de sécurité sur laquelle l`authentification a été effectuée.

IBlob

L’interface IBlob remplace l’interface isc_blob_handle.

  1. getInfo

    void getInfo(StatusType* status,
                 unsigned itemsLength,
                 const unsigned char* items,
                 unsigned bufferLength,
                 unsigned char* buffer)

    Remplace isc_blob_info().

  2. getSegment

    int getSegment(StatusType* status,
                   unsigned bufferLength,
                   void* buffer,
                   unsigned* segmentLength)

    remplace isc_get_segment(). En revanche, les erreurs isc_segstr_eof et isc_segment (qui ne sont pas réellement des erreurs) ne sont jamais renvoyées, mais les codes de sortie IStatus::RESULT_NO_DATA et IStatus::RESULT_SEGMENT sont renvoyés, renvoyant généralement IStatus::RESULT_OK.

  3. putSegment

    void putSegment(StatusType* status,
                    unsigned length,
                    const void* buffer)

    remplace isc_put_segment().

  4. cancel

    void cancel(StatusType* status)

    remplace isc_cancel_blob(). En cas de succès, l’interface est libérée.

  5. close

    void close(StatusType* status)

    remplace isc_close_blob(). En cas de succès, l’interface est libérée.

  6. seek

    int seek(StatusType* status,
             int mode,
             int offset)

    remplace isc_seek_blob().

IServerBlock

L’interface IServerBlock est utilisée par le serveur du module d’authentification pour communiquer avec le client.

  1. getLogin

    const char* getLogin()

    Renvoie le nom d’utilisateur transmis par le client.

  2. getData

    const unsigned char* getData(unsigned* length)

    Renvoie les données d’authentification transmises par le client.

  3. putData

    void putData(StatusType* status, unsigned length, const void* data)

    transmet les données d’authentification au client.

  4. newKey

    ICryptKey* newKey(StatusType* status)

    Crée une nouvelle clé de chiffrement et l’ajoute à la liste des plugins de chiffrement du trafic réseau disponibles.

IServer

L`interface IServer est l`interface principale du plugin d`authentification.

  1. authenticate

    int authenticate(StatusType* status,
                     IServerBlock* sBlock,
                     IWriter* writerInterface)

    Effectue une seule étape d’authentification. L’échange de données avec le client s’effectue à l’aide de l’interface sBlock. Lorsqu’un élément d’authentification est créé, il doit être ajouté au bloc d’authentification à l’aide de writerInterface. Les valeurs de retour possibles sont définies dans l’interface IAuth.

  2. setDbCryptCallback

    void setDbCryptCallback(StatusType* status, ICryptKeyCallback* cryptCallback)

    Définit l’interface de rappel de chiffrement de base de données qui sera utilisée pour les connexions ultérieures à la base de données etServices.

plugin d’authentification côté client