Lektion 2: Erstellen von Attributen für die Sicherheit auf Zeilenebene
Eine gängige Methode zum Definieren der Sicherheit auf Zeilenebene besteht darin, anhand der Anmeldeinformationen des Benutzers zu bestimmen, welche Zeilen angezeigt werden sollen. In dieser Lektion erstellen Sie ein Attribut innerhalb der Employee-Entität, das die Daten anhand der Anmeldeinformationen des Benutzers filtert. Sie erstellen einen Filter, den Sie dann als Formel bearbeiten, damit Sie die GetUserID-Funktion verwenden können.
Hinweis |
---|
In dieser Lektion wird davon ausgegangen, dass Business Intelligence Development Studio noch auf Ihrem Computer geöffnet ist und das Berichtsmodell im Fenster angezeigt wird. |
So erstellen Sie ein gefiltertes Attribut, das als Formel bearbeitet wird
Wählen Sie in der Baumansicht die Employee-Entität aus.
Die Employee-Attribute werden in der Listenansicht angezeigt.
Klicken Sie mit der rechten Maustaste auf Employee, zeigen Sie auf Neu, und klicken Sie dann auf Filter.
Das Dialogfeld Daten filtern wird geöffnet.
Doppelklicken Sie in der Liste Felder auf Login ID2.
Eine Filterbedingung mithilfe des in Lektion 1 erstellten Felds Login ID2 wird dem Filter hinzugefügt.
Klicken Sie im Filter mit der rechten Maustaste auf Login ID2, und wählen Sie Als Formel bearbeiten aus.
Das Dialogfeld Formel definieren wird geöffnet und die Formel Login ID2=EMPTY angezeigt.
Wählen Sie im Feld Formel das Wort EMPTY aus.
Erweitern Sie auf der Registerkarte Funktionen den Informationen-Knoten.
Doppelklicken Sie auf die Funktion BENUTZERID.
Empty wird durch GetUserID() ersetzt.
Klicken Sie auf OK.
Das Dialogfeld Formel definieren wird geschlossen und in der Filterklausel Login ID2=BENUTZERID() angezeigt.
Klicken Sie erneut auf OK.
Das Dialogfeld Daten filtern wird geschlossen und das NewFilter-Attribut in der Listenansicht angezeigt. Als Nächstes benennen Sie das Attribut um.
So benennen Sie das Attribut um
Klicken Sie in der Listenansicht mit der rechten Maustaste auf das NewFilter-Attribut, und wählen Sie Umbenennen aus.
Geben Sie UserIDFilter ein.
Als Nächstes weisen Sie die erforderlichen Attributeigenschaften zu.
So ändern Sie die Eigenschaften eines Attributs
Wählen Sie in der Listenansicht das UserIDFilter-Attribut aus.
Suchen Sie im Eigenschaftenfenster die IsFilter-Eigenschaft.
Überprüfen Sie, ob der Wert von IsFilter gleich True ist.
Suchen Sie die Hidden-Eigenschaft.
Klicken Sie auf den nach unten zeigenden Pfeil von Hidden, und wählen Sie dann True aus.
Wenn Sie die Hidden-Eigenschaft in True ändern, können Modellbenutzer dieses Attribut nicht anzeigen, wenn Sie Berichte mithilfe des Modells erstellen. Da Sie das Attribut als Filter verwenden, um die Sicherheit zuzuweisen, ist es nicht erforderlich, dass die Benutzer dieses Attribut sehen, wenn sie eigene Berichte erstellen.
Wählen Sie in der Listenansicht das Login ID2-Attribut aus.
Suchen Sie im Fenster Eigenschaften die Nullable-Eigenschaft.
Weil für das Login ID2-Attribut die Nullable-Eigenschaft auf True festgelegt ist, muss für das UserIDFilter-Attribut die Nullable-Eigenschaft ebenfalls auf True festgelegt werden. Dies ist jedoch keine erforderliche Eigenschaft für einen Sicherheitsfilter.
Klicken Sie auf den nach unten zeigenden Pfeil von Nullable, und wählen Sie dann True aus.
So weisen Sie der Sicherheitsfilterauflistung ein Attribut zu
Wählen Sie in der Baumansicht die Employee-Entität aus.
Suchen Sie im Eigenschaftenfenster die SecurityFilters-Eigenschaft.
Wählen Sie die SecurityFilters-Eigenschaft aus, und klicken Sie dann auf die Schaltfläche mit den Auslassungspunkten (…).
Das Dialogfeld AttributeReference Auflistungs-Editor wird geöffnet.
Klicken Sie auf Hinzufügen.
Das Dialogfeld Sicherheitsfilterattribute wird geöffnet.
Überprüfen Sie in der Liste Entitäten, ob Employee ausgewählt ist.
Wählen Sie in der Liste Felder das Feld UserIDFilter aus.
Klicken Sie auf OK, und klicken Sie dann erneut auf OK.
Als Nächstes speichern Sie die Änderungen am Modell und stellen dieses anschließend erneut auf dem Berichtsserver bereit.
So speichern Sie das Berichtsmodell und stellen es erneut bereit
Klicken Sie im Menü Datei auf Alle speichern.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Adventure Works Model-Projekt, und wählen Sie Bereitstellen aus.
Das Modell wird auf dem Berichtsserver bereitgestellt.
Wichtig Sie können die Registerkarte Fehlerliste anzeigen, um zu überprüfen, ob das Modell erfolgreich bereitgestellt wurde. Im Falle eines Fehlers müssen Sie zunächst das Problem beheben, bevor Sie den Vorgang fortsetzen können.
Nächste Schritte
Sie haben jetzt ein Attribut erstellt und es der SecurityFilters-Auflistung zugewiesen. Danach müssen Sie Modellelementsicherheit in SQL Server Management Studio aktivieren. Siehe Lektion 3: Aktivieren der Sicherheit auf Zeilenebene im Berichts-Manager.