(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Gewusst wie: Aktivieren der Authentifizierung in einer Silverlight-Clientapp

In LightSwitch können Sie die Anwendung sicherer machen, indem Sie verhindern, dass nicht autorisierte Benutzer Daten lesen, ändern oder löschen. Wenn Sie die Authentifizierung und Autorisierung implementieren, müssen Benutzer ihre Identität nachweisen, bevor sie auf die Anwendung zugreifen können.

Hinweis Hinweis

Das Verfahren zum Festlegen von Berechtigungen ist für Silverlight-Clients unterschiedlich. Weitere Informationen hierzu finden Sie unter Gewusst wie: Aktivieren der Authentifizierung in einer HTML-Clientapp. LightSwitch-Apps, die für SharePoint aktiviert wurden, verwenden die SharePoint-Authentifizierung zur Zugriffssteuerung.

Wenn Sie viele Benutzer haben, können Sie den Zugriff auch einfacher verwalten, indem Sie Benutzerrollen erstellen, die verschiedene Zugriffsebenen auf bestimmte Bildschirme und Daten haben, und dann jedem Benutzer die entsprechende Rolle zuweisen.

Bei einer Gehaltslistenanwendung kann es Mitarbeitern z. B. ermöglicht werden, ihre Gehaltslisteninformationen anzuzeigen, während die Änderung nicht möglich ist. Einem Gehaltslisten-Sachbearbeiter kann jedoch die Berechtigung gewährt werden, die Mitarbeiterinformationen anzuzeigen und zu ändern. Der Rolle "Mitarbeiter" würden die Mitarbeiter zugewiesen werden, und der Rolle "Vorgesetzter" würde der Sachbearbeiter zugewiesen werden.

Sie können Berechtigungen auch einfacher verwalten, indem Sie die Benutzer den Sicherheitsgruppen in Active Directory hinzufügen und diesen Gruppen dann Berechtigungen zuweisen. Da die Mitgliedschaft und Berechtigungen vererbt werden, können Sie Berechtigungen nicht nur für eine Gruppe gewähren oder verweigern, sondern auch für alle Untergruppen, indem Sie nur eine Änderung vornehmen. Beispielsweise können Sie Bob in Active Directory zur Sales-Gruppe hinzufügen. Wenn Sales eine Untergruppe von Marketing ist, wird jede Berechtigung, die Sie der Marketing-Gruppe gewähren, auch Bob gewährt.

Der erste Schritt beim Schützen der Anwendung ist das Aktivieren der Authentifizierung. Sie können die Formular- oder die Windows-Authentifizierung verwenden. Die Formularauthentifizierung wird von der Anwendung selbst verwaltet, und ein Benutzer muss einen Benutzernamen und ein Kennwort angeben, um auf die Anwendung zuzugreifen. Bei der Windows-Authentifizierung werden die Anmeldeinformationen, die für die Anmeldung am Computer verwendet wurden, auf dem die Anwendung ausgeführt wird, zum Authentifizieren des Anwendungsbenutzers verwendet. Es ist kein zusätzlicher Benutzername und kein Kennwort erforderlich. In beiden Fällen verwaltet ein Anwendungsadministrator eine Liste von autorisierten Benutzern. Bei der Formularauthentifizierung verwaltet der Administrator auch verschlüsselte Kennwörter.

So aktivieren Sie die Authentifizierung

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für den Knoten Eigenschaften, und wählen Sie dann Öffnen aus.

  2. Klicken Sie im Anwendungs-Designer auf die Registerkarte Zugriffssteuerung.

  3. Wählen Sie in der Liste Wählen Sie den zu verwendenden Authentifizierungstyp aus: entweder Windows-Authentifizierung verwenden oder Formularauthentifizierung verwenden aus.

    Wenn Sie Windows-Authentifizierung verwenden auswählen, aktivieren Sie entweder das Optionsfeld Nur in der Anwendung auf dem Bildschirm "Benutzer" angegebene Benutzer zulassen oder das Optionsfeld Alle authentifizierten Windows-Benutzer zulassen.

    Die Anwendung erfordert für den Zugriff auf die Anwendung von Benutzern nun die Bereitstellung von Anmeldeinformationen.

So deaktivieren Sie die Authentifizierung

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für den Knoten Eigenschaften, und wählen Sie dann Öffnen aus.

  2. Klicken Sie im Anwendungs-Designer auf die Registerkarte Zugriffssteuerung.

  3. Wählen Sie in der Liste Wählen Sie den zu verwendenden Authentifizierungstyp aus: die Option Authentifizierung nicht aktivieren.

    Die Anwendung erfordert für den Zugriff auf die Anwendung von Benutzern dann keine Bereitstellung von Anmeldeinformationen, und jeder Benutzer kann auf jeden Teil der Anwendung zugreifen.

Der nächste Schritt zum Schutz der Anwendung ist die Erstellung von Berechtigungen. Sie können Berechtigungen für Bildschirme, Befehle, Datenentitäten und Abfragen definieren. Definieren Sie zuerst im Anwendungs-Designer ein Berechtigungsobjekt. Dann können Sie in einer der Can-Methoden, z. B. CanRun<ScreenName> oder <QueryName>_CanExecute, im Code auf das Objekt verweisen. Im Code in diesen Methoden wird in der Regel überprüft, ob der aktuelle Benutzer oder die Rolle über die Berechtigung verfügt. Das Formular wird dann nur angezeigt bzw. die Abfrage wird nur ausgeführt, sofern die Überprüfung der Berechtigung zu einem positiven Ergebnis geführt hat.

Um den Code zu testen, führen Sie die Anwendung einmal als Benutzer aus, der über die Berechtigung verfügt, und dann als Benutzer, der nicht über die Berechtigung verfügt. Sie können die Identität eines Benutzers annehmen, indem Sie Debugberechtigungen festlegen, wenn Sie die Anwendung testen oder debuggen.

So erstellen Sie eine Berechtigung

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für den Knoten Eigenschaften, und wählen Sie dann Öffnen aus.

  2. Klicken Sie im Anwendungs-Designer auf die Registerkarte Zugriffssteuerung.

  3. Klicken Sie im Raster Definieren Sie Berechtigungen, oder wählen Sie für das Debuggen zu verwendende Berechtigungen aus in der Spalte Name auf <Neue Berechtigung hinzufügen>, und geben Sie dann einen programmgesteuerten Namen für die Berechtigung ein.

    Der Name muss mit einem alphabetischen Zeichen beginnen und kann nur alphabetische oder numerische Zeichen oder Unterstriche enthalten.

  4. Geben Sie in der Spalte Anzeigename den Namen der Berechtigung ein, der auf dem Bildschirm erscheinen soll, den der Anwendungsadministrator für die Zuweisung von Rollen verwendet.

  5. Geben Sie in der Spalte Beschreibung eine Beschreibung für die Berechtigung ein.

So schreiben Sie Code, um Berechtigungen für einen Bildschirm festzulegen

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für einen Bildschirmknoten, und wählen Sie dann Öffnen.

    Der Bildschirm-Designer für diesen Bildschirm wird geöffnet.

  2. Wählen Sie in der Liste Code schreiben die CanRunScreenName-Methode aus, wobei ScreenName der Name des ausgewählten Bildschirms ist.

  3. Geben Sie im Code-Editor in der CanRunScreenName-Methode den folgenden Code ein:

    if (Application.User.HasPermission(Permissions.Can_View_Products)) 
    {
        result = true;
    } 
    else 
    {
        result = false;
    }
    
    

    Dieser Code wird jedes Mal ausgewertet, wenn die Anwendung startet.

    HinweisHinweis

    Beachten Sie, dass der Beispielcode eine Überprüfung auf eine Berechtigung mit dem Namen "Can_View_Products" durchführt. Ersetzen Sie den Namen einer Berechtigung, die Sie in der Anwendung definiert haben.

So schreiben Sie Code, um Berechtigungen für einen Befehl festzulegen

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für einen Bildschirmknoten, und wählen Sie dann Öffnen.

    Der Bildschirm-Designer für diesen Bildschirm wird geöffnet.

  2. Erweitern Sie im Bereich Struktur der Bildschirminhalte einen Befehlsknoten, und wählen Sie den Befehl aus, für den Sie Code schreiben möchten.

  3. Öffnen Sie das Kontextmenü für den Befehl, und wählen Sie ButtonName_CanExecute, wobei ButtonName der Name des ausgewählten Befehls ist.

  4. Geben Sie im Code-Editor den gewünschten Code in der ButtonName_CanExecute-Methode ein.

    Hinweis Hinweis

    Ein Beispiel für Code finden Sie oben in diesem Thema unter "So schreiben Sie Code zum Festlegen von Berechtigungen für einen Bildschirm".

So schreiben Sie Code, um Berechtigungen für eine Entität festzulegen

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für einen Entitätsknoten, und wählen Sie dann Öffnen.

    Der Entity Designer für diese Entität wird geöffnet.

  2. Wählen Sie im Entity Designer auf der Leiste Perspektive die Option Server aus.

  3. Wählen Sie in der Liste Code schreiben eine EntityName_CanOperation-Methode aus, wobei EntityName der Name der Entität ist und Operation der Name des Vorgangs ist, für den Sie Code schreiben möchten.

    Hinweis Hinweis

    Die verfügbaren Methoden unterscheiden sich je nach Kontext. Beispiele sind CanDelete und CanUpdate.

  4. Geben Sie im Code-Editor den gewünschten Code in der EntityName_CanOperation-Methode ein.

    Hinweis Hinweis

    Ein Beispiel für Code finden Sie oben in diesem Thema unter "So schreiben Sie Code zum Festlegen von Berechtigungen für einen Bildschirm".

So schreiben Sie Code, um Berechtigungen für eine Abfrage festzulegen

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für einen Abfrageknoten, und wählen Sie dann Öffnen.

    Der Abfrage-Designer für diese Abfrage wird geöffnet.

  2. Wählen Sie in der Liste Code schreiben eine der QueryName_CanExecute-Methoden aus, wobei QueryName der Name der Abfrage ist.

  3. Geben Sie im Code-Editor den gewünschten Code in der QueryName_CanExecute-Methode ein.

    Hinweis Hinweis

    Ein Beispiel für Code finden Sie oben in diesem Thema unter "So schreiben Sie Code zum Festlegen von Berechtigungen für einen Bildschirm".

So aktivieren Sie Berechtigungen zum Debuggen

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für den Knoten Eigenschaften, und wählen Sie dann Öffnen aus.

  2. Klicken Sie im Anwendungs-Designer auf die Registerkarte Zugriffssteuerung.

  3. Wählen Sie im Raster Definieren Sie Berechtigungen, oder wählen Sie für das Debuggen zu verwendende Berechtigungen aus die Berechtigung aus, die Sie für das Debugging aktivieren möchten, und aktivieren Sie dann das Kontrollkästchen Für Debuggen gewährt.

Der letzte Schritt bei der Aktivierung der Authentifizierung besteht darin, einen Standardadministrator für die Anwendung während der Veröffentlichung zu definieren. Sobald die Anwendung veröffentlicht wurde, muss sich der Standardadministrator anmelden und Benutzer, Rollen und Berechtigungen definieren.

So definieren Sie einen Administrator

  • Führen Sie die in Verwalten einer LightSwitch-Anwendung beschriebenen Schritte aus.

    Wichtiger Hinweis Wichtig

    Wenn die Authentifizierung aktiviert wurde und Sie keinen Standardadministrator definiert haben, können Sie nicht auf die veröffentlichte Anwendung zugreifen.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft