Á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-ADComputerUna 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:AdminCredentialsalmacena las credenciales únicamente durante la sesión del usuarioGet-Credentialsolicita las credenciales al usuario una vez; las operaciones posteriores reutilizan la credencial almacenadaInvoke-Command -Credentialejecuta comandos como el usuario con credencialesLas 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?