Authentification

Avant de pouvoir accéder aux données d'un script, vous devez établir l'identité de l'utilisateur pour l'exécution de script.

La commande login authentifie le moteur de script par rapport au portail et crée une session utilisateur pour les commandes suivantes. Plusieurs options existent pour la connexion et elles peuvent être différenciées grâce au nombre d'arguments.

La commande login dotée de deux arguments attend un nom d'utilisateur et un mot de passe comme premier et second argument. Le nom d'utilisateur identifie l'utilisateur du portail. Il peut être fourni sous la forme d'un nom complet qualifié distinctif ou d'un nom de connexion. Le portail recherche le nom d'utilisateur et vérifie le mot de passe.

Exemple Jython :
Portal.login(user_ID, password)

# example: login as Portal user
Portal.login(user_ID, password)

Exemple Jacl :

$Portal login user_ID password

# example: login as Portal user
$Portal login user_ID password

La commande login sans argument est utilisée uniquement si la sécurité est activée dans le portail. Dans ce cas, un nom d'utilisateur et un mot de passe doivent être fournis au serveur d'applications pour permettre la connexion au portail. e portail accepte l'identité de l'utilisateur à partir de la connexion sans procéder à une seconde vérification de mot de passe. Cette action nécessite que l'utilisateur du serveur d'application soit également un utilisateur de portail.

Exemple Jython :
Portal.login()
Exemple Jacl :
$Portal login

La commande login dotée d'un seul argument est utilisée uniquement si la sécurité est activée dans le portail. A l'instar de la version sans argument, l'identité de l'utilisateur de la connexion est acceptée par le portail. En outre, l'utilisateur requiert une autorisation de gestion sur le portail lui-même. Il s'agit des mêmes droits d'accès que ceux requis pour l'utilisation de l'outil XMLAccess.

Si ces conditions préalables sont satisfaites, le nom d'utilisateur fourni comme argument est recherché et pris comme identité de l'utilisateur du portail. Le nom d'utilisateur fourni comme argument est différent du nom d'utilisateur de la connexion. Le mot de passe n'est pas vérifié une seconde fois. Cette action ressemble à celle exécutée par le biais de la commande su présente dans de nombreux systèmes d'exploitation et qui permet au super utilisateur d'agir au nom des autres utilisateurs, sans connaître leur mot de passe.

Exemple Jython :
Portal.login(user_ID)

# example: login and change to Portal user
Portal.login("johndoe")
Exemple Jacl :
$Portal login user_ID

# example: login and change to Portal user
$Portal login johndoe

La commande logout termine la session de script et permet au portail de libérer les ressources allouées à cette session. Elle doit toujours être utilisée avant de quitter le client de scriptage. La commande logout permet également d'invalider les données de portail qui sont mises en mémoire cache dans le client. Par conséquent, il est possible de procéder à nouveau à l'authentification à l'aide d'un utilisateur différent, sans lancer un nouveau client de script.

Vous devez toujours vous déconnecter et vous authentifier à nouveau en tant qu'utilisateur identique si la connexion entre le client de script et le portail est réétablie à l'aide du bean AdminControl de l'outil wsadmin. Dans ce cas, le portail peut perdre la session utilisateur, ce qui entraîne l'échec des opérations suivantes.

Exemple Jython :
Portal.logout()
Exemple Jacl :
$Portal logout

scénario de déploiement, l'authentification ne doit pas être gérée par le script de déploiement proprement dit. Il est conseillé d'utiliser à la place un script encapsuleur, afin que vous puissiez exécuter le script de déploiement sous différentes identités d'utilisateur, sans changement. Voici un exemple de script encapsuleur, qui présuppose que le script de déploiement définit une procédure run_deployment.

Exemple Jython :
# keep the user identity of the connection
Portal.login()
# execute the deployment procedure
run_deployment()
# clean up before exit
Portal.logout()
Exemple Jacl :
# keep the user identity of the connection
$Portal login
# execute the deployment procedure
run_deployment
# clean up before exit
$Portal logout

Le script de déploiement peut également recourir à des procédures définies dans un script de profil pour la connexion et la déconnexion. Les scripts de profils sont exécutés au démarrage du client de scriptage.

Exemple Jython :
# login function
def portal_login(user_ID, password):
  Portal.login(user_ID, password)
  # other startup operations, like logging the access
# logout function
def portal_logout():
  Portal.logout()
  # other shutdown operations
Exemple Jacl :
# procedure for login
proc portal_login { } {
  $Portal login user_ID password
 # other startup operations, like logging the access
}

# procedure for logout
proc portal_logout { } {
  $Portal logout
  # other shutdown operations
}