Il est également possible de restreindre l’utilisation d'EASYCOM à un groupe d’utilisateurs et/ou à un groupe de PC. Pour ce faire, il faut écrire un programme de validation nommé EACTCP003 dans la bibliothèque d’EASYCOM.
Si un programme EACTCP003 se trouve dans la liste de bibliothèques d’EASYCOMD, il sera appelé à chaque tentative de connexion d’une application cliente, sauf si EASYCOM est configuré pour utiliser les Prestarts Jobs (dans ce cas voir EACTCP002).
Ce programme peut laisser le client soumettre le job selon les règles habituelles en affectant *YES à la variable &JOBNAME, il peut refuser la connexion en retournant *NO dans la variable &JOBNAME ou bien soumettre lui même le job et ses propriétés et retourner son nom dans la variable &JOBNAME.
Squelette du programme :
PGM PARM(&TPPGM &TPLIB &USER &EAC_PARM1 + &EAC_PARM2 &RMT_ADR &JOBNAME)
DCL VAR(&TPPGM) TYPE(*CHAR) LEN(10)
DCL VAR(&TPLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&EAC_PARM1) TYPE(*CHAR) LEN(30)
DCL VAR(&EAC_PARM2) TYPE(*CHAR) LEN(30)
DCL VAR(&RMT_ADR) TYPE(*CHAR) LEN(50)
DCL VAR(&JOBNAME) TYPE(*CHAR) LEN(10)
Paramètres :
TPPGM : Target Program Name
TPLIB : Bibliothèque contenant le programme TPPGM
Nom et bibliothèque du programme serveur qui sera exécuté, "EASYCOM" par défaut.
USER : Nom de l'utilisateur
Nom de l'utilisateur de la nouvelle connexion cliente (peut être utilisé pour restreindre les accès à un groupe d'utilisateurs).
EAC_PARM1 :Paramètre 1 du programme TPPGM
Paramètre à transmettre si vous effectuez vous-même le SBMJOB.
EAC_PARM2 :Paramètre 2 du programme TPPGM
Paramètre à transmettre si vous effectuez vous-même le SBMJOB.
RMT_ADR : Adresse TCP/IP de l'appelant
Adresse TCP/IP de l'appelant (peut désigner un ensemble de stations de travail).
JOBNAME : Nom du job pour SBMJOB
Nom du job situé dans le sous-système EASYCOM , par défaut c'est le nom du poste client.
Si le JOBNAME a la valeur *NO, le job EASYCOM ne sera pas démarré.
Si le JOBNAME a la valeur *YES, le job EASYCOM sera pris en compte, mais il devra être démarré par le programme EACTCP003.
Exemple
EACTCP003 peut vérifier les droits de l'utilisateur et de son adresse TCP/IP, et effectuer les opérations suivantes :
Accorder l'exécution :
EACTCP003, laisser la variable &JOBNAME inchangée , ou remplacer par un autre nom de job, ensuite quitter normalement.
Refuser l'exécution :
Dans le programme EACTCP003, modifier la valeur du &JOBNAME à ‘*NO’, et quitter normalement.
CHGVAR VAR(&JOBNAME) VALUE('*NO')
Exécuter le programme cible
Dans EACTCP003, lancer le programme cible à l'aide d'un SBMJOB et modifier la valeur de la variable &JOBNAME à ‘*YES’.
CHGVAR VAR(&JOBNAME) VALUE('*YES')
SBMJOB CMD (CALL PGM(&TPLIB/&TPPGM)+
PARM (&EAC_PARM1&EAC_PARM2))
JOBD(&TPLIB/EACJOBD) +
USER(&USER) RTGDTA(*JOBD)