Ambiti di variabile personalizzati
Ambiti di variabili personalizzati
Le Universal Apps espongono tre ambiti di variabili personalizzati tramite provider personalizzati. Questi provider consentono di memorizzare le variabili in ambiti sensati per un'applicazione web. L'ambito cache viene utilizzato per memorizzare variabili utilizzabili in qualsiasi endpoint all'interno di un'app. L'ambito sessione viene utilizzato per memorizzare variabili utilizzabili per la sessione di un singolo utente dell'app.
Ambito cache
L'ambito cache viene utilizzato per memorizzare una variabile che sarà disponibile in qualsiasi endpoint. L'ambito cache è utile per memorizzare dati che possono essere mostrati in più di un controllo o la cui ricerca può richiedere molto tempo. Questo può essere utile per interrogare i contatori delle prestazioni delle macchine (ad es. Active Directory, Azure).
Come per qualsiasi altro ambito, le variabili di cache si definiscono con un prefisso e un separatore due punti.
$Cache:Computers = Get-ADComputerUna volta assegnata, la variabile $Cache:Computer è disponibile in qualsiasi endpoint.
New-UDMonitor -Title Computers -Endpoint {
$Cache:Computers.Length | Out-UDMonitorData
}Ambito pagina
L'ambito pagina memorizza le variabili per singola scheda o finestra del browser. Se viene aperta una nuova scheda o quella corrente viene chiusa, lo stato viene rimosso.
New-UDForm -Content {
New-UDTextbox -Id 'Name'
} -OnSubmit {
$Page:Name = $EventData.Name
Sync-UDElement -Id 'Name'
}
New-UDDynamic -Content {
New-UDTypography $Page:Name
}Ambito sessione
L'ambito sessione viene utilizzato per memorizzare una variabile per sessione. Una sessione viene stabilita quando il browser di un utente visita per la prima volta una dashboard. Nel browser dell'utente viene memorizzato un cookie che indica che fa parte della sessione. Le sessioni hanno un timeout di inattività di 25 minuti.
Come per qualsiasi altro ambito, le variabili di cache si definiscono con un prefisso e un separatore due punti.
Una volta assegnata, la variabile $Session:ShowChart è disponibile nei gestori di eventi dell'app. Le variabili di sessione non sono disponibili negli endpoint dell'API REST o negli endpoint pianificati.
Una volta terminata una sessione, le variabili di sessione vengono cancellate.
Memorizzare le credenziali nell'ambito sessione
L'ambito sessione è particolarmente utile per memorizzare le credenziali utente che non devono persistere oltre la sessione dell'utente. Questo schema consente alle app di richiedere le credenziali amministrative senza memorizzarle in modo permanente, rispondendo ai requisiti di sicurezza secondo cui le credenziali non devono essere salvate.
ℹ️ Informazione
Le variabili di sessione scadono quando la sessione dell'utente termina. Questo le rende ideali per memorizzare dati sensibili come le credenziali, che dovrebbero esistere solo durante l'uso attivo.
Esempio: richiesta delle credenziali di amministratore
Questo esempio mostra come richiedere le credenziali agli utenti una volta per sessione e riutilizzarle per operazioni privilegiate:
Punti chiave:
$Session:AdminCredentialsmemorizza le credenziali solo per la durata della sessione dell'utenteGet-Credentialrichiede le credenziali all'utente una sola volta; le operazioni successive riutilizzano la credenziale memorizzataInvoke-Command -Credentialesegue i comandi come l'utente delle credenzialiLe credenziali non vengono mai salvate su disco né condivise tra utenti
Quando la sessione dell'utente termina, le credenziali vengono cancellate automaticamente
Questo approccio è ideale per le applicazioni che eseguono la gestione delle ACL, operazioni sul file system o altre attività che richiedono privilegi elevati senza memorizzare in modo permanente le credenziali di amministratore.
Vedere anche
Ultimo aggiornamento
È stato utile?