Set_Conversation_Security_Type (CPI-C)

L’appel de Set_Conversation_Security_Type (nom de fonction cmscst) est émis par le programme d’appel pour spécifier les informations dont l’unité logique partenaire (LU) a besoin pour valider l’accès au programme appelé.

Syntaxe

  
CM_ENTRY Set_Conversation_Security_Type(   
  unsigned char FAR *conversation_ID,          
  CM_INT32 FAR *conversation_security_type,    
    CM_INT32 FAR *return_code                    
);  

Paramètres

conversation_ID
Paramètre fourni. Spécifie l’identificateur de la conversation. La valeur de ce paramètre a été retournée par Initialize_Conversation.

conversation_security_type
Paramètre fourni. Spécifie les informations dont l’unité lu partenaire a besoin pour valider l’accès au programme appelé. En fonction de la sécurité de conversation établie pour le programme appelé pendant la configuration, utilisez l’une des valeurs suivantes :

CM_SECURITY_NONE
Pour indiquer que le programme appelé n’utilise aucune sécurité de conversation.

CM_SECURITY_PROGRAM
Pour indiquer que le programme appelé utilise la sécurité de la conversation et nécessite donc un identificateur d’utilisateur et un mot de passe.

CM_SECURITY_SAME
Pour indiquer que l’ID d’utilisateur est envoyé sur la demande d’allocation aux services de nœud dans l’unité lu partenaire. Ce paramètre est également utilisé pour spécifier que le programme appelé, appelé avec un identificateur d’utilisateur et un mot de passe valides, appelle à son tour un autre programme (comme illustré dans Communication entre les fournisseurs de services). Par exemple, supposons que le programme A appelle le programme B avec un identificateur d’utilisateur et un mot de passe valides, et que le programme B appelle à son tour le programme C. Si le programme B spécifie la valeur CM_SECURITY_SAME, CPI-C envoie l’unité lu pour le programme C, l’identificateur d’utilisateur du programme A et un indicateur déjà vérifié. Cet indicateur indique au programme C de ne pas exiger le mot de passe (si le programme C est configuré pour accepter un indicateur déjà vérifié).

Lorsque CM_SECURITY_SAME est utilisé, votre application doit toujours appeler Set_Conversation_Security_User_ID et Set_Conversation_Security_Password pour fournir des valeurs pour les paramètres security_user_ID et security_password . Selon les propriétés négociées entre le serveur SNA et l’unité lu homologue, la fonction Allocate envoie l’un des 3 types de messages Attach (FMH-5), dans cet ordre de priorité :

  1. Si les LU ont négocié une sécurité déjà vérifiée, l’attachement envoyé par le serveur SNA n’inclut pas le contenu du champ de paramètre security_password spécifié par Set_Conversation_Security_Password.

  2. Si les LU ont négocié la sécurité de vérification permanente, l’attachement envoyé par le serveur SNA inclut le paramètre de security_password spécifié par Set_Conversation_Security_Password, mais uniquement lorsque l’attachement est le premier pour le paramètre de security_user_ID spécifié défini par Set_Conversation_Security_User_ID depuis le début de la session LU-LU, et omet le paramètre security_password sur toutes les attaches suivantes (émises par votre application ou toute autre application à l’aide de la session LU-LU). ce triplet en mode LU-LU).

  3. Votre application ne peut pas déterminer quel mode de sécurité a été négocié entre les LU, ni indiquer si la fonction Allocate qu’elle émet est la première pour ce triplet en mode LU-LU. Par conséquent, votre application doit toujours appeler Set_Conversation_Security_User_ID et Set_Conversation_Security_Password pour définir les paramètres security_user_ID et security_password lorsque conversation_security_type est défini sur CM_SECURITY_SAME.

    Pour plus d’informations sur la vérification persistante et la sécurité déjà vérifiée, consultez le Guide des formats SNA, section « Fm Header 5 : Attach (LU 6.2) ».

    Si la fonctionnalité d’ouverture de session automatique CPI-C doit être utilisée, ce paramètre doit être défini sur CM_SECURITY_PROGRAM. Pour plus d’informations, consultez la section Remarques plus loin dans cette rubrique.

    return_code
    Code retourné par cet appel. Les codes de retour valides sont répertoriés plus loin dans cette rubrique.

Codes de retour

CM_OK
Code de retour principal ; l’appel a été exécuté avec succès.

CM_PROGRAM_STATE_CHECK
Code de retour principal ; la conversation n’est pas dans l’état INITIALIZE.

CM_PROGRAM_PARAMETER_CHECK
Code de retour principal ; la valeur spécifiée par conversation_ID ou conversation_security_type n’est pas valide.

CM_PRODUCT_SPECIFIC_ERROR
Code de retour principal ; une erreur spécifique au produit s’est produite et a été enregistrée dans le journal des erreurs des produits.

Changements d'état

La conversation doit être à l’état INITIALIZE.

Il n’y a aucun changement d’état.

Remarques

Cet appel remplace le type de sécurité initial à partir des informations latérales spécifiées par Initialize_Conversation. Cet appel ne peut pas être émis après l’émission d’Allocation .

Si le type de sécurité de conversation est défini sur CM_SECURITY_NONE, l’identificateur d’utilisateur et le mot de passe sont ignorés lorsque la conversation est allouée.

Un type de sécurité de conversation de CM_SECURITY_SAME est destiné à être utilisé entre des nœuds qui ont le même ensemble d’ID utilisateur et qui acceptent la validation utilisateur effectuée sur un nœud comme validation de l’utilisateur pour tous les nœuds. Un mot de passe n’est pas utilisé dans ce cas, sauf pour la validation initiale de l’ID utilisateur.

L’ouverture de session automatique pour les applications CPI-C est prise en charge par Host Integration Server. Cette fonctionnalité nécessite une configuration spécifique de la part de l’administrateur réseau. L’application CPI-C doit être appelée côté LAN à partir d’un client du serveur SNA. Le client doit être connecté à un domaine Microsoft Windows, mais peut être n’importe quelle plateforme prenant en charge les API CPI-C de SNA Server.

L’application cliente est codée pour utiliser la sécurité au niveau du programme, avec un nom d’utilisateur CPI-C codé en dur spécial MS$SAME et un mot de passe MS$SAME. Lorsque cette allocation de session passe du client au serveur SNA, le serveur SNA recherche le compte d’hôte et le mot de passe correspondant au compte Windows sous lequel le client est connecté et remplace les informations du compte hôte dans le message d’attachement APPC qu’il envoie à l’hôte.