Lezione 2: Creazione di attributi per la protezione a livello di riga
Un metodo comune per la definizione della protezione a livello di riga consiste nell'utilizzo delle informazioni sull'account di accesso dell'utente per determinare le righe da visualizzare. In questa lezione si procederà alla creazione di un attributo nell'entità Employee che consenta di filtrare i dati in base alle informazioni sull'account di accesso dell'utente. Si creerà un filtro che verrà quindi modificato come una formula in modo da poter utilizzare la funzione GetUserID.
[!NOTA]
Ai fini di questa lezione si presuppone che Business Intelligence Development Studio sia ancora aperto nel computer e che il modello di report sia visualizzato nella finestra.
Per creare un attributo filtrato da modificare come una formula
In visualizzazione albero selezionare l'entità Employee.
Gli attributi dell'entità verranno visualizzati nell'apposito elenco.
Fare clic con il pulsante destro del mouse su Employee, scegliere Nuovo e quindi Filtro.
Verrà visualizzata la finestra di dialogo Filtra dati.
Nell'elenco Campi fare doppio clic su Login ID2.
Al filtro verrà aggiunta una condizione di filtro che utilizza il campo Login ID2 creato nella lezione 1.
Nel filtro fare clic con il pulsante destro del mouse su Login ID2 e scegliere Modifica come formula.
Verrà aperta la finestra di dialogo Definisci formula in cui è visualizzata la formula Login ID2=Empty.
Nella casella Formula selezionare la parola Empty.
Selezionare la scheda Funzioni e quindi espandere il nodo Informative.
Fare doppio clic sulla funzione RECUPERAIDUTENTE.
La parola Empty verrà sostituita con GetUserID().
Fare clic su OK.
La finestra Definisci formula verrà chiusa e nella clausola del filtro verrà indicata la formula Login ID2=RECUPERAIDUTENTE.
Fare di nuovo clic su OK.
La finestra di dialogo Filtra dati verrà chiusa e nell'elenco verrà visualizzato l'attributo NewFilter. Si procederà quindi alla ridenominazione dell'attributo.
Per rinominare l'attributo
In visualizzazione elenco fare clic con il pulsante destro del mouse sull'attributo NewFilter e scegliere Rinomina.
Digitare UserIDFilter.
Il passaggio successivo consiste nell'assegnazione delle proprietà dell'attributo necessarie.
Per modificare le proprietà dell'attributo
In visualizzazione elenco selezionare l'attributo UserIDFilter.
Nella finestra Proprietà individuare la proprietà IsFilter.
Verificare che il valore IsFilter sia True.
Individuare la proprietà Hidden.
Fare clic sulla freccia a discesa Hidden e quindi selezionare True.
Se la proprietà Hidden è impostata su True gli utenti del modello non saranno in grado di visualizzare l'attributo quando utilizzano il modello per creare report. Poiché si utilizza l'attributo come filtro per assegnare la protezione, per gli utenti non è necessario visualizzare l'attributo durante la creazione dei report.
In visualizzazione elenco selezionare l'attributo Login ID2.
Nella finestra Proprietà individuare la proprietà Nullable.
Poiché la proprietà Nullable dell'attributo Login ID2 è impostata su True, la proprietà Nullable dell'attributo UserIDFilter deve essere ugualmente impostata su True. Non si tratta tuttavia di una proprietà necessaria per l'utilizzo come un filtro di protezione.
Selezionare nuovamente l'attributo UserIDFilter, fare clic sulla freccia a discesa Nullable e quindi selezionare True.
Per assegnare un attributo all'insieme dei filtri di protezione
In visualizzazione albero selezionare l'entità Employee.
Nella finestra Proprietà individuare la proprietà SecurityFilters.
Selezionare la proprietà SecurityFilters e quindi fare clic sul pulsante con i puntini di sospensione (…).
Verrà visualizzata la finestra di dialogo Editor dell'insieme AttributeReference.
Fare clic su Aggiungi.
Verrà visualizzata la finestra di dialogo Attributi filtri di protezione.
Nell'elenco Entità verificare che l'entità Employee sia selezionata.
Nell'elenco Campi selezionare l'attributo UserIDFilter.
Fare clic su OK e quindi fare di nuovo clic su OK.
Il passaggio successivo consiste nel salvataggio delle modifiche nel modello e quindi nella ridistribuzione del modello nel server di report.
Per salvare e distribuire il modello di report
Scegliere Salva tutto dal menu File.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Adventure Works Model, quindi scegliere Distribuisci.
Il modello verrà distribuito nel server di report.
Importante Per verificare che la distribuzione del modello abbia avuto esito positivo, è possibile visualizzare la scheda Elenco errori. Se si verifica un errore, sarà necessario risolvere il problema prima di continuare.
Passaggi successivi
In questo modo è stato creato e quindi assegnato un attributo all'insieme SecurityFilters. Successivamente, è necessario abilitare la protezione degli elementi dei modelli in SQL ServerManagement Studio. Vedere Lezione 3: Abilitazione della protezione a livello di riga in Gestione report.
Vedere anche