17.7
Autorisierung

Bisher haben wir uns, beinahe in epischer Breite, damit beschäftigt, einen Benutzer zu authentifizieren, also herauszufinden, wer da am Browser sitzt. In vielen Fällen reicht es wahrscheinlich sogar aus, für den Zugriff auf eine Webanwendung nur authentifizierte Benutzer zuzulassen, sodass eine feinere Unterteilung gar nicht notwendig ist.
Es gibt nun, vereinfacht gesagt, drei Möglichkeiten der Autorisierung:
- Im einfachsten Fall (finde ich jedenfalls) werden NTFS-Berechtigungen auf einzelne Dateien oder Verzeichnisse gesetzt. Das funktioniert allerdings nur, wenn die Webanwendung die Identität des angemeldeten Benutzers annimmt (Impersonation). Läuft die Webanwendung mit der Identität des Anwendungspools und/oder gibt es für die zugreifenden Benutzer gar keine Konten im Active Directory, helfen die NTFS-Berechtigungen nicht weiter, da diese bekanntlich nur an Active Directory-Konten (bzw. Windows-Konten) vergeben werden können.
- Falls eine Webanwendung nicht auf Active Directory-Konten basiert, lassen sich Unterverzeichnisse über die URL-Autorisierung schützen.
- Die dritte Möglichkeit der Autorisierung geschieht sozusagen in der jeweiligen Webanwendung. Mittels ihrer Business-Logik kann sie entscheiden, welche Inhalte und Funktionen einem bestimmten authentifizierten Benutzer zur Verfügung stehen – oder eben auch nicht.
17.7.1
NTFS-Berechtigungen


Die NTFS-Berechtigungen sind schnell erklärt; wir befinden uns hier sozusagen nativ auf dem Filesystem. NTFS führt zu jeder Datei eine ACL (Access Control List, Zugriffssteuerungsliste). Bei der Arbeit mit NTFS-Berechtigungen werden einfach diese ACLs den Bedürfnissen entsprechend angepasst. Dies kann entweder im Datei-Explorer geschehen oder aus dem Internetinformationsdienste-Manager heraus, der mit dem Kontextmenü aus Abbildung 17.101 denselben Dialog aufruft.
Abbildung 17.101 In der Inhaltsansicht findet sich die Möglichkeit, die NTFS-Berechtigungen zu bearbeiten. Alternativ geht das auch mit dem Explorer.
Die NTFS-Autorisierung funktioniert in folgenden Fällen nicht:
- An der Webanwendung melden sich über die formularbasierte Authentifizierung Benutzer an, für die kein Windows-Prinzipal (d. h. kein Active Directory-Konto) vorhanden ist.
- Die Webanwendung führt keine Impersonation durch, nimmt also nicht die Identität des angemeldeten Benutzers an, sondern wird mit der des Anwendungspools ausgeführt.
Falls der angemeldete Benutzer nicht berechtigt ist, auf die angeforderte Datei zuzugreifen, reagiert der Webserver mit dem Statuscode 401 (Unauthorized, Abbildung 17.102). Der Browser wird nach alternativen Anmeldeinformationen fragen.
Abbildung 17.102 Beim Zugriff auf eine Datei, für die der Benutzer nicht autorisiert ist, reagiert der Server mit dem Statuscode 401 (»Unauthorized«).
17.7.2
URL-Autorisierung

Wenn die Autorisierung mittels NTFS-Berechtigungen nicht verfügbar ist, beispielsweise weil sich Benutzer anmelden, die nicht im AD vorhanden sind, können Sie Verzeichnisse oder Webseiten mittels URL-Autorisierung schützen.
Die URL-Autorisierung ist, wie fast alles, standardmäßig nicht installiert und muss folglich als Rollendienst nachinstalliert werden (Abbildung 17.103).
Abbildung 17.103 Wie immer: Erst installieren und dann nutzen. Das gilt auch für die URL-Autorisierung.
Abbildung 17.104 Eingabe von Autorisierungsregeln
Nach der Installation des Rollendiensts steht ein neues Symbol namens Autorisierungsregeln auf der Ebene von Server, Website, Webanwendung und Verzeichnis zur Verfügung. Sie werden zwei Regeltypen anlegen können:
- eine Autorisierungszulassungsregel, um Benutzer, Benutzergruppen oder Rollen auf einen Inhalt zugreifen zu lassen
- eine Autorisierungsablehnungsregel, eben zum Verhindern des Zugriffs
Bei der Eingabe von Regeln können Sie nicht nur Windows-Prinzipale (d. h. AD-Benutzerkonten oder AD-Gruppen), sondern auch .NET-Benutzer und .NET-Rollen eintragen (Abbildung 17.104). Das Verfahren dürfte damit selbsterklärend sein.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.