Autenticazione e autorizzazione di LightSwitch

In LightSwitch, è possibile rendere all'applicazione più sicuri per impedire agli utenti non autorizzati alla lettura, modifica, o eliminazione di dati.Se si distribuisce l'autenticazione e l'autorizzazione, gli utenti devono tentare le identità prima che possano accedere all'applicazione.Se molti utenti, è possibile gestire l'accesso più facilmente creazione di ruoli utente con diversi livelli di accesso a pagine specifiche e ai dati e quindi assegnare ogni utente al ruolo appropriato.

Ad esempio, in un'applicazione per la gestione degli stipendi potrebbe essere consentito ai dipendenti visualizzare, ma non 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.

È inoltre possibile gestire i permessi in modo più facile aggiungendo gli utenti a gruppi di sicurezza nell' Active Directory e quindi assegnando autorizzazioni a tali gruppi.Poiché l'appartenenza e le autorizzazioni vengono ereditate, è possibile concedere o negare autorizzazioni non solamente per un gruppo, ma anche per tutti i sottogruppi utilizzando una singola modifica.Ad esempio, è possibile aggiungere Bob al gruppo Vendite in Active Directory.Se Vendite è un sottogruppo di Marketing, qualsiasi autorizzazione si voglia concedere a Marketing verrebbe inoltre concessa anche a Bob.

Autenticazione

Il primo passaggio per la protezione dell'applicazione consiste nell'abilitazione dell'autenticazione.È possibile utilizzare 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 nell'applicazione vengono utilizzate le credenziali utilizzate per accedere al computer in cui viene eseguita l'applicazione e non è richiesto alcun nome utente o password aggiuntiva.In entrambi casi, un amministratore di applicazione gestisce un elenco di utenti autorizzati. Nell'autenticazione basata su form, l'amministratore gestisce anche le password crittografate.

Per abilitare l'autenticazione

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida del nodo Proprietà quindi scegliere Apri.

  2. In Progettazione applicazione, scegliere la scheda Controllo accesso.

  3. Nell'elenco Selezionare il tipo di autenticazione da utilizzare:, scegliere Usa autenticazione di Windows o Usa autenticazione basata su form.

    Se si sceglie Usa autenticazione di Windows, scegliere il pulsante di opzione Consenti solo gli utenti specificati nello schermata Utenti dell'applicazione dell'applicazione o del 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

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida del nodo Proprietà quindi scegliere Apri.

  2. In Progettazione applicazione, scegliere la scheda Controllo accesso.

  3. Nell'elenco Selezionare il tipo di autenticazione da utilizzare:, scegliere Non abilitare l'autenticazione.

    Nell'applicazione non verranno richieste agli utenti 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à dati e query.Innanzitutto definire un oggetto autorizzazioni in Progettazione applicazione.Quindi, è possibile fare riferimento all'oggetto nel codice, in uno dei metodi Can quali CanRun<NomeSchermata> o <NomeQuery>_CanExecute.Il codice presente in questi metodi in genere controlla se l'utente o il ruolo corrente dispone dell'autorizzazione necessaria, quindi visualizza il form o esegue la query solo se viene convalidata l'autorizzazione.

Per effettuare il test del codice, eseguire l'applicazione come sia utente che dispone dell'autorizzazione necessaria che come utente che non dispone dell'autorizzazione necessaria.Impostando autorizzazioni di debug, è possibile rappresentare un utente quando si esegue il test o il debug dell'applicazione.

Per creare un'autorizzazione

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida del nodo Proprietà quindi scegliere Apri.

  2. In Progettazione applicazione, scegliere la scheda Controllo accesso.

  3. Nella griglia Definire o selezionare le autorizzazioni da utilizzare per il debug, nella colonna Nome, **<Add New Permission>**quindi 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.

  4. Nella colonna Nome visualizzato, il nome dell'autorizzazione che si desidera venga visualizzato lo schermo che l'amministratore di applicazione utilizzare per assegnare ruoli.

  5. Nella colonna Descrizione, fornire una descrizione dell'autorizzazione.

Per scrivere codice per impostare autorizzazioni per una schermata

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida per un nodo dello schermo e quindi scegliere Apri.

    Progettazione schermata per lo schermo viene aperto.

  2. Nell'elenco Scrivi codice, scegliere CanRunScreenNameScreenName, dove è il nome dello schermo selezionato.

  3. In Editor del codice, digitare il seguente codice nel metodo di CanRunScreenName :

    If Current.User.HasPermission(Can_View_Products) Then
        result =  True
    Else
        result = False
    End If
    
    if (Current.User.HasPermission(Permissions.Can_View_Products)) 
    {
        result = true;
    } 
    else 
    {
        result = false;
    }
    

    Questo codice sarà valutato ogni volta che viene avviata applicazione.

    [!NOTA]

    Si noti che il codice di esempio consente di verificare la presenza di un'autorizzazione denominata Can_View_Products.Ovunque venga visualizzato, sostituire il nome di un'autorizzazione definito nell'applicazione.

Per scrivere codice per impostare autorizzazioni per un comando

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida per un nodo dello schermo e quindi scegliere Apri.

    Progettazione schermata per lo schermo viene aperto.

  2. Nel riquadro Albero del contento della schermata, espandere un nodo di comando e quindi scegliere il comando per il quale si desidera scrivere codice.

  3. Aprire il menu di scelta rapida per il comando e quindi scegliere ButtonName**_CanExecute**ButtonName, dove è il nome del comando scelto.

  4. In Editor del codice, aggiungere il codice desiderato nel metodo di ButtonName**_CanExecute**.

    [!NOTA]

    Per un esempio di codice, vedere la sezione precedente "Per scrivere codice per impostare autorizzazioni per una schermata" in questo argomento.

Per scrivere codice per impostare autorizzazioni per un'entità

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida per un nodo dell'entità quindi scegliere Apri.

    Entity Designer per tale entità verrà aperto.

  2. Nell'elenco Scrivi codice, scegliere un metodo di EntityName**_Can**OperazioneEntityName, dove è il nome dell'entità e Operazione è il nome dell'operazione per il quale si desidera scrivere codice.

    [!NOTA]

    I metodi disponibili dipendono dal contesto.Alcuni esempi sono CanDelete e CanUpdate.

  3. In Editor del codice, aggiungere il codice desiderato nel metodo di EntityName**_Can**Operazione.

    [!NOTA]

    Per un esempio di codice, vedere la sezione precedente "Per scrivere codice per impostare autorizzazioni per una schermata" in questo argomento.

Per scrivere codice per impostare autorizzazioni per una query

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida per un nodo di query e scegliere Apri.

    Progettazione query per tale query viene aperta.

  2. Nell'elenco Scrivi codice, scegliere uno dei metodi di QueryName**_CanExecute**QueryName, dove è il nome della query.

  3. In Editor del codice, aggiungere il codice desiderato nel metodo di QueryName**_CanExecute**.

    [!NOTA]

    Per un esempio di codice, vedere la sezione precedente "Per scrivere codice per impostare autorizzazioni per una schermata" in questo argomento.

Per abilitare le autorizzazioni per il debug

  1. In Esplora soluzioni, scegliere dal menu di scelta rapida del nodo Proprietà quindi scegliere Apri.

  2. In Progettazione applicazione, scegliere la scheda Controllo accesso.

  3. Nella griglia Definire o selezionare le autorizzazioni da utilizzare per il debug, selezionare l'autorizzazione che si desidera attivare per eseguire il debug e selezionare la casella di controllo Concesso per il debug.

Pubblicazione

Quando aiutate sicuro l'applicazione, il passaggio finale consiste di pubblicare.Quando si pubblica per la prima volta, è necessario fornire informazioni di autenticazione per un amministratore predefinito.Quando si pubblicano inoltre, non è necessario ripetere questo passaggio.

Per fornire informazioni di autenticazione quando si pubblica un'applicazione

  1. In Pubblicazione guidata applicazione LightSwitch, scegliere la pagina Impostazioni di sicurezza e quindi scegliere il pulsante di opzione Sì, crea un amministratore dell'applicazione dell'applicazione.

    [!NOTA]

    È necessario eseguire passaggi restanti solo se si esegue la pubblicazione direttamente a un server.Se si crea un pacchetto, verrà richiesto di aggiungere un account amministrativo quando si distribuisce il pacchetto.

  2. Nella casella di testo Nome utente, immettere un nome utente.

    Se si utilizza l'autenticazione di Windows, è necessario specificare un nome di accesso Windows valide nel formato Dominio\Nome utente.

    SuggerimentoSuggerimento

    È inoltre possibile assegnare come amministratore predefinito, un gruppo di sicurezza nell'Active Directory.

  3. Nella casella di testo Nome completo, il nome completo dell'utente o gruppo che verranno il gestore predefinito.

  4. Nella casella di testo Password, digitare una password.

    [!NOTA]

    Se si utilizza l'autenticazione di Windows, Nome completo, Password e i campi Conferma password non vengono visualizzati.

  5. Nella casella di testo Conferma password, digitare nuovamente la password.

    Tenere presente il nome utente e la password in quanto sarà necessario specificarli la prima volta che si esegue l'applicazione.

  6. Completare la pubblicazione dell'applicazione.

Utenti e ruoli

L'amministratore di applicazione, è necessario eseguire l'applicazione per la prima volta pubblicata.Utilizzare quindi lo schermo Ruoli e lo schermo Utenti per definire i ruoli, assegnare autorizzazioni ai ruoli e assegnare i ruoli a utenti o gruppi di utenti.È possibile accedere a questi schermate nell'applicazione in fase di progettazione o quando ha implementato.In fase di progettazione, impostare un'autorizzazione di debug per accedere alle schermate.In un'applicazione distribuita, tutti gli utenti a cui è stata concessa l'autorizzazione di Amministrazione sicurezza possono accedere alle schermate.

[!NOTA]

Per collegare, è necessario utilizzare il nome utente e la password specificati quando è stato pubblicato l'applicazione.

Per definire un ruolo e assegnare autorizzazioni

  1. In un'applicazione pubblicata in esecuzione con autorizzazioni di amministratore, sulla barra dei menu, scegliere Ruoli.

  2. Nel riquadro Ruoli, scegliere il pulsante +… (aggiungi).

  3. Nella finestra di dialogo Aggiungi nuovo ruolo, un nome per il ruolo e quindi scegliere il pulsante OK.

  4. Nel riquadro Autorizzazioni, scegliere il pulsante +… (aggiungi).

    Nella griglia Autorizzazioni verrà visualizzata una nuova riga.

  5. Nella prima colonna della griglia, selezionare un'autorizzazione dall'elenco.

    Nell'elenco sono indicate tutte le autorizzazioni relative all'applicazione sviluppata.È possibile aggiungere tutte le autorizzazioni necessari, ma è necessario scegliere il pulsante +… (aggiungi) per ognuno di aggiungere.

  6. Nella barra degli strumenti dell'applicazione, scegliere il pulsante Salva per salvare le modifiche.

Per aggiungere un utente o un gruppo di utenti

  1. Sulla barra dei menu, scegliere Utenti per visualizzare lo schermo Utenti.

  2. Nel riquadro Utenti e gruppi, scegliere il pulsante +… (aggiungi).

  3. Nella casella di testo Nome, immettere un nome utente.

    Se si utilizza l'autenticazione di Windows, è necessario specificare un nome utente valido sotto forma di alias (Terry), un dominio e un alias (ad esempio \ Terry), un alias e un dominio (terry@example.com), o un nome di dominio completo e un alias (northamerica.corp.example.com \ Terry).L'intera stringa deve contenere meno di 256 caratteri.È inoltre possibile specificare il nome di un gruppo di sicurezza in Active Directory.Se si utilizza l'autenticazione basata su form, il nome utente deve essere univoco e contenere un massimo di 256 caratteri.

  4. Nella casella di testo Nome completo, il nome completo dell'utente.

    Le informazioni nel campo Nome completo sono utilizzate solo ai fini della visualizzazione.

    [!NOTA]

    Per l'autenticazione di Windows, il campo Nome completo viene popolato automaticamente in base al nome utente e non può essere modificato.

  5. Nella casella di testo Password, digitare una password.

    [!NOTA]

    I campi Conferma passwordPassword non vengono visualizzati se si utilizza l'autenticazione Windows.

  6. Nella casella di testo Conferma password, digitare la stessa password.

  7. Nel riquadro Ruoli, scegliere il pulsante Aggiungi quindi scegliere un ruolo nell'elenco Ruoli.

    È possibile assegnare un utente a più ruoli ripetendo il passaggio per ogni ruolo.

  8. Nella barra degli strumenti dell'applicazione, scegliere il pulsante Salva per salvare le modifiche.

Per rimuovere un utente o un gruppo di utenti

  1. Sulla barra dei menu, scegliere Utenti per visualizzare lo schermo Utenti.

  2. Nel riquadro Utenti e gruppi, selezionare l'account che si desidera rimuovere e scegliere il pulsante X (delete).

    [!NOTA]

    Se un utente ha effettuato l'accesso con un account che viene eliminato, l'utente può più salvare o non accedere ai dati nel server.Se l'utente tenta di accedere ai dati dal server, accesso negato il messaggio.

    [!NOTA]

    Se un account di gruppo viene eliminato, qualsiasi utente il cui ruolo è stato ereditato da quel gruppo perderà le autorizzazioni per tale ruolo.

  3. Nella barra degli strumenti dell'applicazione, scegliere il pulsante Salva per salvare le modifiche.

Vedere anche

Concetti

Considerazioni sulla sicurezza per LightSwitch

Altre risorse

Progetti: Contenitore dell'applicazione

gruppi di sicurezza di Active Directory