Procedura: abilitare l'autenticazione in un'app client Silverlight
In LightSwitch è possibile rendere l'applicazione più sicura impedendo la lettura, la modifica o l'eliminazione di dati a utenti non autorizzati. Se si implementano l'autenticazione e l'autorizzazione, gli utenti devono dimostrare la propria identità prima di poter accedere all'applicazione.
Nota
Il processo per impostare le autorizzazioni è diverso per i client HTML. Vedere Procedura: abilitare l'autenticazione in un'app client HTML.Le applicazioni LightSwitch abilitate per SharePoint utilizzano l'autenticazione SharePoint per il controllo di accesso.
In caso di più utenti, è inoltre possibile gestire l'accesso più facilmente creando ruoli utente con diversi livelli di accesso a schermate e dati particolari, quindi assegnando a ciascun utente il ruolo appropriato.
Ad esempio, in un'applicazione per la gestione degli stipendi si potrebbe consentire ai dipendenti di visualizzare, ma non di modificare, le informazioni relative al proprio stipendio. Tuttavia, un supervisore incaricato degli stipendi potrebbe disporre dell'autorizzazione necessaria per visualizzare e modificare le informazioni sui dipendenti. Ai dipendenti verrebbe assegnato il ruolo di dipendente e al supervisore il ruolo di supervisore.
Anche le autorizzazioni possono essere gestite più facilmente aggiungendo gli utenti a gruppi di sicurezza in Active Directory e assegnando, successivamente, autorizzazioni ai gruppi in questione. Poiché l'appartenenza e le autorizzazioni vengono ereditate, è possibile concedere e negare autorizzazioni non solo per un gruppo, ma anche per tutti i sottogruppi apportando un'unica modifica. Ad esempio, è possibile aggiungere Bob al gruppo Sales in Active Directory. Se Sales è un sottogruppo di Marketing, qualsiasi autorizzazione concessa a Marketing viene concessa anche a Bob.
Autenticazione
Il primo passaggio per la protezione dell'applicazione consiste nell'abilitazione dell'autenticazione. È possibile usare l'autenticazione basata su form o l'autenticazione di Windows. L'autenticazione basata su form viene gestita dall'applicazione stessa e un utente deve fornire un nome utente e una password per accedere all'applicazione. Nell'autenticazione di Windows per l'autenticazione dell'utente dell'applicazione vengono utilizzate le credenziali utilizzate per accedere al computer in cui viene eseguita l'applicazione e non è richiesto alcun nome utente o password ulteriore. In entrambi i casi, un amministratore dell'applicazione gestisce un elenco di utenti autorizzati. Nell'autenticazione basata su form, l'amministratore gestisce anche le password crittografate.
Per abilitare l'autenticazione
In Esplora soluzioni aprire il menu di scelta rapida per il nodo Proprietà, quindi scegliere Apri.
In Progettazione applicazione scegliere la scheda Controllo di accesso.
Nell'elenco Selezionare il tipo di autenticazione da utilizzare scegliere Usa autenticazione di Windows oppure Usa autenticazione basata su form.
Se è stato selezionato Usa autenticazione di Windows, scegliere il pulsante di opzione Consenti solo gli utenti specificati nello schermata Utenti dell'applicazione oppure il pulsante di opzione Consenti qualsiasi utente Windows autenticato.
Nell'applicazione verrà ora richiesto agli utenti di fornire credenziali per l'accesso.
Per disabilitare l'autenticazione
In Esplora soluzioni aprire il menu di scelta rapida per il nodo Proprietà, quindi scegliere Apri.
In Progettazione applicazione scegliere la scheda Controllo di accesso.
Nell'elenco Selezionare il tipo di autenticazione da utilizzare scegliere Non abilitare l'autenticazione.
Nell'applicazione non verranno richieste agli utenti le credenziali per l'accesso e qualsiasi utente sarà in grado di accedere a qualsiasi parte dell'applicazione.
Autorizzazioni
Il passaggio successivo per la protezione dell'applicazione consiste nella creazione delle autorizzazioni. È possibile definire autorizzazioni per schermate, comandi, entità di dati e query. In primo luogo, definire un oggetto relativo all'autorizzazione in Progettazione applicazione. Successivamente, è possibile fare riferimento all'oggetto nel codice, in uno dei metodi Can, ad esempio CanRun<NomeSchermata> o <NomeQuery>_CanExecute. Tramite il codice presente in questi metodi viene in genere controllato se il ruolo o l'utente corrente dispone dell'autorizzazione necessaria, quindi viene visualizzato il form o viene eseguita la query solo se viene convalidata l'autorizzazione.
Per effettuare il test del codice, eseguire l'applicazione sia come utente che dispone dell'autorizzazione necessaria sia come utente che ne è privo. Impostando le autorizzazioni di debug, è possibile rappresentare un utente quando si esegue il test o il debug dell'applicazione.
Per creare un'autorizzazione
In Esplora soluzioni aprire il menu di scelta rapida per il nodo Proprietà, quindi scegliere Apri.
In Progettazione applicazione scegliere la scheda Controllo di accesso.
Nella colonna Nome della griglia Definire o selezionare le autorizzazioni da utilizzare per il debug scegliere <Aggiungi nuova autorizzazione>, quindi immettere un nome a livello di codice per l'autorizzazione.
Il nome deve iniziare con un carattere alfabetico e può contenere solo caratteri alfabetici o numerici oppure sottolineature.
Nella colonna Nome visualizzato immettere il nome dell'autorizzazione come si desidera venga visualizzato nella schermata che l'amministratore dell'applicazione utilizzerà per l'assegnazione dei ruoli.
Nella colonna Descrizione immettere una descrizione per l'autorizzazione.
Per scrivere codice per impostare autorizzazioni per una schermata
In Esplora soluzioni aprire il menu di scelta rapida per un nodo della schermata, quindi scegliere Apri.
Verrà visualizzato Progettazione schermata per la schermata in questione.
Nell'elenco Scrivi codice scegliere CanRunNomeSchermata, dove NomeSchermata è il nome della schermata selezionata.
Nell'Editor di codice immettere il codice seguente nel metodo CanRunNomeSchermata:
If Application.User.HasPermission(Can_View_Products) Then result = True Else result = False End If
if (Application.User.HasPermission(Permissions.Can_View_Products)) { result = true; } else { result = false; }
Questo codice sarà valutato ogni volta che viene avviata l'applicazione.
Nota
Si noti che tramite il codice di esempio viene verificata la presenza di un'autorizzazione denominata Can_View_Products.Sostituire il nome di un'autorizzazione definita nell'applicazione.
Per scrivere codice per impostare autorizzazioni per un comando
In Esplora soluzioni aprire il menu di scelta rapida per un nodo della schermata, quindi scegliere Apri.
Verrà visualizzato Progettazione schermata per la schermata in questione.
Nel riquadro Albero del contenuto della schermata espandere un nodo del comando, quindi scegliere il comando per il quale si desidera scrivere codice.
Aprire il menu di scelta rapida per il comando, quindi scegliere NomePulsante**_CanExecute**, dove NomePulsante è il nome del comando scelto.
Nell'Editor di codice immettere il codice desiderato nel metodo NomePulsante**_CanExecute**.
Nota
Per un esempio di codice, vedere "Per scrivere codice per impostare autorizzazioni per una schermata" precedentemente in questo argomento.
Per scrivere codice per impostare autorizzazioni per un'entità
In Esplora soluzioni aprire il menu di scelta rapida per un nodo dell'entità, quindi scegliere Apri.
Verrà visualizzato Entity Designer per l'entità in questione.
Nella barra Prospettiva di Entity Designer scegliere Server.
Nell'elenco Scrivi codice scegliere un metodo NomeEntità**_Can**Operazione, dove NomeEntità è il nome dell'entità e Operazione è il nome dell'operazione per cui scrivere il codice.
Nota
I metodi disponibili variano in base al contesto.Alcuni esempi sono CanDelete e CanUpdate.
Nell'Editor di codice immettere il codice desiderato nel metodo NomeEntità**_Can**Operazione.
Nota
Per un esempio di codice, vedere "Per scrivere codice per impostare autorizzazioni per una schermata" precedentemente in questo argomento.
Per scrivere codice per impostare autorizzazioni per una query
In Esplora soluzioni aprire il menu di scelta rapida per un nodo della query, quindi scegliere Apri.
Verrà visualizzato Progettazione query per la query in questione.
Nell'elenco Scrivi codice scegliere uno dei metodi NomeQuery**_CanExecute**, dove NomeQuery è il nome della query.
Nell'Editor di codice immettere il codice desiderato nel metodo NomeQuery**_CanExecute**.
Nota
Per un esempio di codice, vedere "Per scrivere codice per impostare autorizzazioni per una schermata" precedentemente in questo argomento.
Per abilitare le autorizzazioni per il debug
In Esplora soluzioni aprire il menu di scelta rapida per il nodo Proprietà, quindi scegliere Apri.
In Progettazione applicazione scegliere la scheda Controllo di accesso.
Nella griglia Definire o selezionare le autorizzazioni da utilizzare per il debug scegliere l'autorizzazione che si desidera abilitare per l'esecuzione del debug, quindi selezionare la casella di controllo Concesso per il debug.
Pubblicazione e amministrazione
Il passaggio finale per abilitare l'autenticazione consiste nel definire un amministratore predefinito per l'applicazione durante la pubblicazione. Dopo la pubblicazione, l'amministratore predefinito deve effettuare l'accesso e definire utenti, ruoli e autorizzazioni.
Per definire un amministratore
Seguire la procedura indicata in Amministrazione di un'applicazione LightSwitch.
Importante
Se l'autenticazione viene abilitata e non è stato stabilito un gestore predefinito, non sarà possibile accedere all'applicazione pubblicata.
Vedere anche
Attività
Amministrazione di un'applicazione LightSwitch
Procedura: abilitare l'autenticazione in un'app client HTML
Concetti
Considerazioni sulla sicurezza per LightSwitch
Altre risorse
Schermate del client Silverlight per applicazioni LightSwitch