URL RunAsUserSetInSession
Cette URL permet aux administrateurs ayant les autorisations requises d'exécuter des commandes ultérieures dans la même session sous l'identité d'un client spécifié.
Cette URL permet aux administrateurs ayant les autorisations requises d'exécuter des commandes ultérieures dans la même session sous l'identité d'un client spécifié. Le cadre de contrôle d'accès vérifie que l'utilisateur actuel appartient à l'un des rôles suivants :
- Représentant du service clientèle
- Responsable du service clientèle (RSC)
- Gestionnaire des opérations
- Responsable des ventes
- Seller
Structure de l'adresse URL
- http:// host_name/path/
- Nom hôte entièrement qualifié de votre serveur HCL Commerce Server et du chemin de configuration.
Valeurs des paramètres
- langId
- La langue préférée pour la durée de la session ; les langues prises en charge dans le magasin sont répertoriées dans la table STORELANG.
- URL
- Adresse URL à appeler une fois que la commande a abouti. La valeur par défaut est RunAsUserSetInSessionView.
- storeId
- Numéro de référence du magasin auquel l'utilisateur est en train de se connecter.
- runAsUserId
- ID d'utilisateur du client inscrit. Il s'agit du client sous lequel les requêtes ultérieures s'exécuteront.
Exemple 1
Pour passer à l'ID utilisateur d'un client spécifié (par exemple, 5), un administrateur doit exécuter l'URL RunAsUserSetInSession avec le paramètre runAsUserId défini sur "5". Après avoir exécuté avec succès l'URL RunAsUserSetInSession, RunAsUserSetInSessionView est appelé. https:// myhostname/webapp/wcs/stores/servlet/RunAsUserSetInSession?runAsUserId=5
Exemple 2
L'exemple suivant passe à l'ID utilisateur 5 et appelle l'URL spécifiée (UserAccountView) : https:// myhostname/webapp/wcs/stores/servlet/RunAsUserSetInSession?runAsUserId=5&URL=UserAccountView
Comportement
- Assurez-vous que l'utilisateur qui exécute la commande est de registerType "A".
- Le client vers laquelle la commande tente de basculer (runAsUserId) est de registerType "R" (utilisateur inscrit).
- Enregistre la valeur runAsUserId dans le contexte de commande à stocker dans la session afin que dans les requêtes ou commandes ultérieures, la valeur runAsUserId puisse être restaurée.
- Si vous êtes passé à un ID utilisateur à l'aide de l'URL RunAsUserSetInSession, vous ne pouvez pas passer à un autre ID utilisateur. Vous devez d'abord appeler RestoreOriginalUserSetInSession avant de pouvoir effectuer un autre appel RunAsUserSetInSession.
- Si vous passez à un autre ID utilisateur et, lors de l'exécution de la commande, vous souhaitez récupérer l'identité d'origine, vous pouvez appeler getCallerId sur leCommandContext.
Conditions d'exception
| Clé du message d'exception | Description |
|---|---|
_ERR_MISSING_PARMS |
La commande lance cette exception si la valeur runAsUserId n'est pas spécifiée. |
_ERR_MEMBER_USER_ADMIN_TYPE |
La commande lance cette exception si l'utilisateur actuel n'est pas de registerType "A" (administrateur). |
_ERR_MEMBER_USER_REGISTERED_TYPE |
La commande lance cette exception si l'utilisateur sous lequel la commande tente de basculer n'est pas de registerType "R" (inscrit). |
Si le paramètre forUser est spécifié pendant que la session d'administrateur utilise les informations de session d'un client, une exception est générée.