(0) exportieren Drucken
Alle erweitern

Authentifizierung und Autorisierung: Übersicht

Veröffentlicht: 10. Mai 2004 | Aktualisiert: 15. Nov 2004
Von Jürgen Mauerer

Authentifizierung und Autorisierung sind der Kern jedes Sicherheitskonzepts. Das .NET-Framework bietet hier zwei sich ergänzende Sicherheitsformen. Benutzersicherheit beantwortet die Fragen "Wer ist der Benutzer und was darf der Benutzer tun?", während die Codesicherheit folgende Fragen beantwortet: "Woher stammt der Code, wer hat den Code geschrieben, und was kann der Code tun?".

Codesicherheit umfasst die Autorisierung für den Zugriff der Anwendung (nicht des Benutzers) auf Ressourcen einschließlich Dateisystem, Registrierungsdatei, Netzwerk, Verzeichnisdienste und Datenbanken. In diesem Fall ist es unerheblich, wer Endbenutzer ist, oder welches Benutzerkonto den Code ausführt. Ausschlaggebend ist, wozu der Code berechtigt ist und wozu nicht.

Der Schwerpunkt dieses Kapitels liegt auf der Authentifizierung und Autorisierung von Benutzern. Eine Lösung ist die Einrichtung von Benutzerkonten mit der Definition bestimmter Rechte, die so genannte rollenbasierte Sicherheit. .NET bietet dazu die Begriffe Identität (Benutzer) und Prinzipal (Zusammenhang zwischen dem Benutzer und der ihm zugestandenen Rollen/Rechten). Näheres dazu lesen Sie in den unten stehenden Artikeln.

ASP.NET bietet mehrere Möglichkeiten der Authentifizierung von Benutzern: die Windows-basierte, die formularbasierte oder die externe Authentifizierung. Bei der Windows-Authentifizierung wird der Anmeldedialog im Browser eingeblendet. Sie setzt voraus, dass der User ein gültiges Konto auf dem Server hat. Bei der Forms-Authentifizierung erfolgt die Abfrage der Benutzerdaten über ein obligatorisches HTML-Formular. ASP.NET überprüft dieses etwa durch die Konfiguration der Datei web.config oder nutzt dazu eine Datenbank. Nachteil: Der Benutzer muss dauerhafte Cookies akzeptieren. Die dritte Variante ist eine externe Lösung etwa über Microsoft Passport.

In der Praxis ist die formularbasierte Authentifizierung am häufigsten, um einen Benutzer zu erkennen und ihm zugewiesene Ressourcen freizugeben. Meldet sich ein Benutzer mit seinen Daten an, erkennt ihn die .NET-Laufzeitumgebung und räumt ihm die Rechte ein, die seinem Konto entsprechen. Dieser Vorgang heißt Impersonifizierung. Solange die Impersonifizierung deaktiviert ist, kann man auf eine explizite Authentifizierung verzichten. Der anonyme Prozess läuft dann unter dem Konto ASPNET ab. Ist sie aktiviert, übernimmt der Prozess das Konto des IIS.

Authentifizierung und Rechtevergabe
Das .NET Framework bietet mehrere Möglichkeiten der Authentifizierung von Benutzern. Eine Lösung ist die Einrichtung von Benutzerkonten mit der Definition bestimmter Rechte, die so genannte rollenbasierte Sicherheit. .NET bietet dazu die Begriffe Identität (Benutzer) und Prinzipal (Zusammenhang zwischen dem Benutzer und der ihm zugestandenen Rollen/Rechten). Dieser englischsprachige Artikel beschreibt das Konzept.

Authentifizierung und Autorisierung
Rockford Lhotka beschreibt in diesem Artikel, wie Sie die Principal- und Identity-Konzepte in .NET dazu verwenden, benutzerdefinierte Authentifizierung und Autorisierung in Windows- und Webanwendungen zu implementieren. Die Überprüfung der Identität von Benutzern in ASP.NET nimmt dabei breiten Raum ein.

User-Authentifizierung mit ASP.NET
Der Autor Christian Nagel zeigt in diesem Artikel, wie einfach es ist, mit ASP.NET Benutzer zu authentifizieren. Wichtigstes Instrument ist die Konfigurationsdatei web.config.

Kombination von Formular- und Windows-Sicherheit in ASP.NET
ASP.NET-Entwickler suchen schon länger nach einem Weg, Formular- und Windows-Sicherheit zu kombinieren. Paul Wilson liefert in diesem Artikel eine Lösung für dieses Problem, über die der Windows-Benutzername nach Möglichkeit erfasst wird oder die Benutzer zu einem Anmeldebildschirm umgeleitet werden.

ASP.NET: Forms-Authentifizierung
Die formularbasierte Authentifizierung ist in der Praxis am häufigsten, um einen Benutzer zu erkennen und ihm zugewiesene Ressourcen freizugeben. In diesem englischsprachigen Artikel lesen Sie, wie das funktioniert.


Code Access Security war bereits Thema eines MSDN-Chats. Hier finden Sie das zusammenfassende Transkript der Fragen und Antworten.

Code Access Security in Reporting Services
Reporting Services erweitern SQL Server 2000 um eine Infrastruktur für unternehmensweites Berichtswesen (Reporting), deren Schnittstellen als Web Services implementiert sind. Codesicherheit ist daher sehr wichtig. Lesen Sie in diesem englischsprachigen Artikel, wie Sie sicheren Code bei den Reporting Services gewährleisten.

pfeilrechts.gif Das .NET Sicherheitsmodell
pfeilrechts.gif Sichere ASP.NET Webservices
pfeilrechts.gif Authentifizierung und Autorisierung


Zum Seitenanfang
Anzeigen:
© 2014 Microsoft