For the complete documentation index, see llms.txt. This page is also available as Markdown.

Portées de variables personnalisées

Portées de variables personnalisées

Les Universal Apps exposent trois portées de variables personnalisées à l'aide de fournisseurs personnalisés. Ces fournisseurs vous permettent de stocker vos variables dans des portées qui ont du sens pour une application web. La portée cache sert à stocker des variables qui peuvent être utilisées dans n'importe quel terminal d'une appli. La portée session sert à stocker des variables qui peuvent être utilisées pour la session d'un seul utilisateur de l'appli.

Portée cache

La portée cache sert à stocker une variable qui sera disponible dans n'importe quel terminal. La portée cache est utile pour stocker des données qui peuvent être affichées dans plus d'un contrôle ou dont la recherche peut être longue. Cela peut être utile pour interroger des compteurs de performance de machine (p. ex. Active Directory, Azure).

Comme pour toute autre portée, les variables de cache sont définies avec un préfixe et un séparateur deux-points.

$Cache:Computers = Get-ADComputer

Une fois assignée, la variable $Cache:Computer est disponible dans n'importe quel terminal.

New-UDMonitor -Title Computers -Endpoint {
    $Cache:Computers.Length | Out-UDMonitorData
}

Portée page

La portée page stocke les variables par onglet ou fenêtre de navigateur. Si un nouvel onglet est ouvert ou que l'onglet actuel est fermé, l'état sera supprimé.

New-UDForm -Content {
    New-UDTextbox -Id 'Name'
} -OnSubmit {
    $Page:Name = $EventData.Name
    Sync-UDElement -Id 'Name'
}

New-UDDynamic -Content {
    New-UDTypography $Page:Name
}

Portée session

La portée session sert à stocker une variable par session. Une session est établie lorsque le navigateur d'un utilisateur visite un tableau de bord pour la première fois. Un témoin est stocké dans le navigateur de l'utilisateur pour indiquer qu'il fait partie de la session. Les sessions ont un délai d'inactivité de 25 minutes.

Comme pour toute autre portée, les variables de cache sont définies avec un préfixe et un séparateur deux-points.

Une fois assignée, la variable $Session:ShowChart est disponible dans les gestionnaires d'événements d'appli. Les variables de session ne sont pas disponibles dans les terminaux d'API REST ni dans les terminaux planifiés.

Une fois qu'une session est terminée, les variables de session sont effacées.

Stocker des identifiants dans la portée session

La portée session est particulièrement utile pour stocker des identifiants d'utilisateur qui ne devraient pas être conservés au-delà de la session de l'utilisateur. Ce modèle permet aux applis de demander des identifiants administratifs sans les stocker de façon permanente, ce qui répond aux exigences de sécurité selon lesquelles les identifiants ne doivent pas être enregistrés.

ℹ️ Information

Les variables de session expirent lorsque la session de l'utilisateur prend fin. Cela les rend idéales pour stocker des données sensibles comme des identifiants qui ne devraient exister que pendant l'utilisation active.

Exemple : demander des identifiants administrateur

Cet exemple montre comment demander des identifiants aux utilisateurs une fois par session et les réutiliser pour des opérations privilégiées :

Points clés :

  • $Session:AdminCredentials stocke les identifiants uniquement pour la durée de la session de l'utilisateur

  • Get-Credential demande les informations à l'utilisateur une seule fois; les opérations suivantes réutilisent l'identifiant stocké

  • Invoke-Command -Credential exécute les commandes en tant qu'utilisateur dont les identifiants ont été fournis

  • Les identifiants ne sont jamais conservés sur le disque ni partagés entre les utilisateurs

  • Lorsque la session de l'utilisateur prend fin, les identifiants sont automatiquement effacés

Cette approche est idéale pour les applications qui effectuent la gestion des ACL, des opérations sur le système de fichiers ou d'autres tâches nécessitant des privilèges élevés sans stocker les identifiants administrateur de façon permanente.

Voir aussi

Mis à jour

Ce contenu vous a-t-il été utile ?