Aktualisiert: 05. Mai 2004
.gif)
Auf dieser Seite
Zielsetzung
Betrifft
Verwendung dieses Moduls
Zusammenfassung
Benötigte Kenntnisse
Erstellen einer Klassenbibliotheksanwendung als Host für die Serviced Component
Erstellen der Serviced Component
Konfigurieren der Serviced Component
Erzeugen eines starken Namens für die Assembly
Erstellen der Assembly und Hinzufügen zum globalen Assemblycache
Manuelles Registrieren der Serviced Component
Prüfen der konfigurierten Anwendung
Erstellen einer Test-Clientanwendung
Zielsetzung
Themenbereiche:
-
Erstellen einer Serviced Component, die Enterprise Services-Rollen verwendet, um den Personenkreis einzuschränken, der Zugriff auf die Funktionalität des Computers haben soll.
Betrifft
Die Informationen in diesem Modul gelten für folgende Produkte und Technologien:
-
Microsoft® Windows® XP oder Windows 2000 Server (mit Service Pack 3) und höhere Betriebssysteme
-
Microsoft .NET Framework Version 1.0 (mit Service Pack 2) und höhere Versionen
-
Microsoft Visual C#® .NET
Verwendung dieses Moduls
Empfehlungen für eine erfolgreiche Arbeit mit diesem Modul:
-
Sie müssen über Erfahrung in Visual C# .NET und Microsoft Visual Studio® .NET verfügen.
-
Sie müssen über Erfahrung in der Entwicklung und Implementierung von Serviced Components verfügen, die im Kontext von Enterprise Services (COM+) ausgeführt werden.
-
Sie müssen Erfahrung in der Verwaltung von Serviced Components mit dem Verwaltungsprogramm für Komponentendienste haben.
-
Sie müssen mit der Verwaltung der Gruppenmitgliedschaft bei Windows-Benutzerkonten mithilfe der Windows-Verwaltungsprogramme vertraut sein.
-
Lesen Sie Modul 9, "Enterprise Services-Sicherheit". In diesem Modul werden die Sicherheitsfunktionen von Enterprise Services und die speziellen Funktionen beschrieben, die für sichere Serviced Components zur Verfügung stehen.
Zusammenfassung
Enterprise Services (COM+) bieten ein umfassendes Sicherheitsframework, das Sie für die Implementierung einer differenzierten Steuerung der Zugriffsberechtigungen für die Funktionen der von Ihnen entwickelten Serviced Components nutzen können.
In diesem Modul wird erläutert, wie eine einfache Serviced Component erstellt wird, die Enterprise Services-Rollen für die Autorisierung auf Methodenebene verwendet.
Benötigte Kenntnisse
Bevor Sie mit diesem Modul beginnen, sollten Sie sich über folgende Punkte im Klaren sein:
-
Enterprise Services-Rollen sind nicht dasselbe wie .NET-Rollen.
-
Enterprise Services-Rollen können Windows-Gruppen- oder -Benutzerkonten enthalten.
-
Enterprise Services-Rollen werden im COM+-Katalog verwaltet.
-
Enterprise Services-Rollen können auf der Enterprise Services-Anwendungsebene, auf Schnittstellen-, Klassen- oder Methodenebene zugewiesen werden.
-
Enterprise Services-Rollen können teilweise deklarativ unter Verwendung von .NET-Attributen in der Assembly der Serviced Component konfiguriert werden.
-
Windows-Gruppen- und Benutzerkonten müssen zum Zeitpunkt der Entwicklung von einem Administrator hinzugefügt werden.
-
Administratoren können das Verwaltungsprogramm oder -skript für Komponentendienste verwenden.
-
Für einen effektiven Einsatz der von Enterprise Services gebotenen rollenbasierten Sicherheit in einer ASP.NET-Webanwendung muss diese die Windows-Authentifizierung verwenden und die Identität der Benutzer vor dem Start der Serviced Components wechseln.
Erstellen einer Klassenbibliotheksanwendung als Host für die Serviced Component
Mit dem nachstehenden Verfahren wird eine neue C#-Klassenbibliotheksanwendung erstellt, die die Serviced Component enthält.
Erstellen der Serviced Component
In diesem Verfahren wird die SimpleComponent-Klasse von der EnterpriseServices.ServicedComponent-Klasse abgeleitet, um diesen Typ in eine Serviced Component umzuwandeln. Anschließend wird eine Schnittstelle erstellt und diese in der SimpleComponent-Klasse implementiert. Um Sicherheit auf Schnittstellen- und Methodenebene gewährleisten zu können, müssen Sie Schnittstellen definieren und implementieren.
Konfigurieren der Serviced Component
Mit diesem Verfahren wird die Serviced Component für die rollenbasierte Sicherheit auf Methodenebene konfiguriert.
Erzeugen eines starken Namens für die Assembly
Assemblys, die als Host für Serviced Components fungieren, müssen über einen starken Namen verfügen. Mit diesem Verfahren wird ein Schlüsselpaar aus öffentlichem und privatem Schlüssel erzeugt, das für die Vergabe eines starken Namens für die Assembly herangezogen wird.
Erstellen der Assembly und Hinzufügen zum globalen Assemblycache
In diesem Verfahren wird die Assembly erstellt, die die Serviced Component enthält. Anschließend wird die Assembly dem globalen Assemblycache hinzugefügt. Serviced Components sollten generell im globalen Assemblycache registriert werden, da es sich um Ressourcen auf Systemebene handelt. Im Gegensatz zu Bibliotheksanwendungen (für die diese Vorgehensweise allerdings ebenfalls zu empfehlen ist) MÜSSEN Serviced Components, für die COM+-Serveranwendungen als Host fungieren, im globalen Assemblycache installiert werden.
Manuelles Registrieren der Serviced Component
Serviced Components können entweder manuell mit dem Tool Regsvcs.exe oder automatisch mithilfe der "verzögerten" Registrierung registriert werden. Bei der "verzögerten" Registrierung wird die Komponente (und die als Host fungierende COM+-Anwendung, die mithilfe der Metadaten der Assembly entwickelt und konfiguriert wurde) beim erstmaligen Aufbau einer Instanz der Serviced Component registriert.
Um den - allerdings einmaligen - Leistungsabfall zu vermeiden, der mit diesem Ansatz einhergeht, wird die Serviced Component in diesem Verfahren manuell registriert.
So registrieren Sie die Serviced Component manuell
-
Kehren Sie zum Befehlsfenster zurück.
-
Führen Sie Regsvcs.exe aus, um die Komponente zu registrieren.
regsvcs bin\debug\ServicedCom.dll
Prüfen der konfigurierten Anwendung
In diesem Verfahren wird das Tool für Komponentendienste verwendet, um die Katalogeinstellungen zu prüfen, die als Ergebnis der zuvor verwendeten .NET-Attribute erstellt wurden.
Erstellen einer Test-Clientanwendung
In diesem Verfahren wird eine Test-Clientanwendung basierend auf Windows-Formularen erstellt, um die Serviced Component zu instanziieren und aufzurufen.