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

Ámbitos de variables personalizados

Ámbitos de variables personalizados

Las Universal Apps exponen tres ámbitos de variables personalizados mediante proveedores personalizados. Estos proveedores le permiten almacenar sus variables en ámbitos que tienen sentido para una aplicación web. El ámbito de caché se utiliza para almacenar variables que pueden usarse dentro de cualquier endpoint de una aplicación. El ámbito de sesión se utiliza para almacenar variables que pueden usarse en la sesión de un único usuario de la aplicación.

Ámbito de caché

El ámbito de caché se utiliza para almacenar una variable que estará disponible en cualquier endpoint. El ámbito de caché resulta útil para almacenar datos que pueden mostrarse en más de un control o cuya consulta puede llevar mucho tiempo. Esto puede ser útil para consultar contadores de rendimiento de equipos (p. ej., Active Directory, Azure).

Al igual que cualquier otro ámbito, las variables de caché se definen con un prefijo y un separador de dos puntos.

$Cache:Computers = Get-ADComputer

Una vez asignada, la variable $Cache:Computer está disponible en cualquier endpoint.

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

Ámbito de página

El ámbito de página almacena variables por pestaña o ventana del navegador. Si se abre una pestaña nueva o se cierra la actual, el estado se eliminará.

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

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

Ámbito de sesión

El ámbito de sesión se utiliza para almacenar una variable por sesión. Una sesión se establece cuando el navegador de un usuario visita por primera vez un dashboard. Se almacena una cookie en el navegador del usuario que indica que forma parte de la sesión. Las sesiones tienen un tiempo de inactividad de 25 minutos.

Al igual que cualquier otro ámbito, las variables de caché se definen con un prefijo y un separador de dos puntos.

Una vez asignada, la variable $Session:ShowChart está disponible en los controladores de eventos de la aplicación. Las variables de sesión no están disponibles en los endpoints de la API REST ni en los endpoints programados.

Una vez finalizada una sesión, las variables de sesión se borran.

Almacenar credenciales en el ámbito de sesión

El ámbito de sesión resulta especialmente útil para almacenar credenciales de usuario que no deben persistir más allá de la sesión del usuario. Este patrón permite que las aplicaciones soliciten credenciales administrativas sin almacenarlas de forma permanente, cumpliendo los requisitos de seguridad que exigen que las credenciales no se guarden.

ℹ️ Información

Las variables de sesión caducan cuando finaliza la sesión del usuario. Esto las hace ideales para almacenar datos sensibles como credenciales que solo deben existir durante el uso activo.

Ejemplo: solicitar credenciales de administrador

Este ejemplo muestra cómo solicitar credenciales a los usuarios una vez por sesión y reutilizarlas para operaciones privilegiadas:

Puntos clave:

  • $Session:AdminCredentials almacena las credenciales únicamente durante la sesión del usuario

  • Get-Credential solicita las credenciales al usuario una vez; las operaciones posteriores reutilizan la credencial almacenada

  • Invoke-Command -Credential ejecuta comandos como el usuario con credenciales

  • Las credenciales nunca se guardan en disco ni se comparten entre usuarios

  • Cuando finaliza la sesión del usuario, las credenciales se borran automáticamente

Este enfoque es ideal para aplicaciones que realizan gestión de ACL, operaciones del sistema de ficheros u otras tareas que requieren privilegios elevados sin almacenar de forma permanente las credenciales de administrador.

Véase también

Última actualización

¿Te fue útil?