ANS-0562 · DéVELOPPEMENT SUITESCRIPT
Pourquoi les scripts client sur les Suitelets n’héritent-ils pas des droits « Exécuter en tant qu’administrateur » ?
Comprenez pourquoi les scripts côté client associés aux Suitelets fonctionnent selon les autorisations de l'utilisateur, quels que soient les paramètres des scripts côté serveur.
Solution courte
Les scripts client associés aux Suitelets, même lorsqu’ils sont configurés avec l’option « Exécuter en tant qu’administrateur » dans l’enregistrement du script côté serveur, n’hériteront pas de ces autorisations élevées. Les scripts client s’exécutent dans l’environnement du navigateur de l’utilisateur, en respectant strictement les rôles et autorisations attribués à ce dernier, ce qui garantit la sécurité et l’intégrité des données au sein de NetSuite.
Scénario
Lors du développement de Suitelets dans NetSuite, les développeurs associent souvent des scripts côté client afin d’améliorer l’interaction avec l’utilisateur et les fonctionnalités des formulaires. On s'attend généralement à ce que, si le script Suitelet côté serveur est configuré pour « s'exécuter en tant qu'administrateur », tout script client associé hérite également de ces droits élevés. Cependant, cette configuration n'étend pas les droits d'administrateur au script côté client, ce qui entraîne des erreurs d'autorisation inattendues ou une fonctionnalité restreinte pour les utilisateurs.
Solution
Les scripts client, quelle que soit la manière dont ils sont associés à un formulaire Suitelet, s’exécutent dans l’environnement du navigateur de l’utilisateur. Cela signifie qu’ils fonctionnent strictement selon les autorisations de l’utilisateur actuellement connecté, et non selon le paramètre « Exécuter en tant qu’administrateur » du script Suitelet côté serveur.Même lorsqu’un Suitelet est configuré pour s’exécuter avec des privilèges d’administrateur et qu’un script client est associé à l’aide de méthodes SuiteScript 2.x modernes telles que Form.clientScriptModulePath ou Form.clientScriptFileId, le script client n’héritera pas de ces droits élevés.Ce comportement est voulu afin de préserver la sécurité et de garantir que les opérations côté client soient toujours limitées par les rôles et les autorisations attribués à l’utilisateur. Les développeurs doivent concevoir des scripts clients fonctionnant dans le cadre des autorisations standard de l’utilisateur ou utiliser les fonctions Suitelet côté serveur (qui s’exécutent bel et bien en tant qu’administrateur si elles sont configurées ainsi) pour effectuer les opérations nécessitant des privilèges élevés.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
