Update src/DigitalData.ActiveDirectory/README.md

This commit is contained in:
tekh 2025-08-06 18:08:33 +02:00
parent 48f9379f2a
commit 8c4ac321da

View File

@ -14,10 +14,29 @@ Die folgenden Eigenschaften werden verwendet, um Ihre AD-Abfrage anzupassen:
* **`SizeLimit`** (`int`): Gibt die maximale Anzahl von Objekten an, die als Ergebnis einer Suche zurückgegeben werden sollen. Der Standardwert ist 5000. Dieser Wert ist wichtig für die Leistungsoptimierung bei der Arbeit mit großen Datensätzen.
* **`Property`** (`string[]`): Eine Liste der Attribute, die in den Suchergebnissen zurückgegeben werden sollen. Beispielsweise gibt `[ "cn", "sAMAccountName", "mail" ]` nur die angegebenen Attribute zurück. Durch die Auswahl nur der benötigten Attribute werden der Netzwerkverkehr und der Speicherverbrauch reduziert und die Leistung verbessert.
* **`SearchRoot`** (`Root`): Gibt den Active Directory-Pfad an, an dem die Suche beginnen soll. Dies entspricht der Eigenschaft **`SearchRoot`** des Objekts **`DirectorySearcher`**. Optional können Benutzername und Passwort als spezielle Anmeldedaten angegeben werden. In DirectorySearchQuery können die folgenden drei Eigenschaften hinzugefügt werden. Weitere Informationen finden Sie im entsprechenden [Microsoft-Artikel](https://learn.microsoft.com/de-de/dotnet/api/system.directoryservices.directoryentry?view=windowsdesktop-9.0).
* **`SearchRoot`** (`DirectoryEntryQuery`): Gibt den Active Directory-Pfad an, an dem die Suche beginnen soll. Dies entspricht der Eigenschaft **`SearchRoot`** des Objekts **`DirectorySearcher`**. Optional können Benutzername und Passwort als spezielle Anmeldedaten angegeben werden. In DirectorySearchQuery können die folgenden drei Eigenschaften hinzugefügt werden. Weitere Informationen finden Sie im entsprechenden [Microsoft-Artikel](https://learn.microsoft.com/de-de/dotnet/api/system.directoryservices.directoryentry?view=windowsdesktop-9.0).
* **`Path`**: Ruft den Pfad für diesen DirectoryEntry ab oder legt diesen fest.
* **`Username`**: Ruft den für die Clientauthentifizierung zu verwendenden Benutzernamen ab oder legt diesen fest..
* **`Username`**: Ruft den für die Clientauthentifizierung zu verwendenden Benutzernamen ab oder legt diesen fest.
* **`Password`**: Legt das Kennwort fest, mit dem der Client authentifiziert werden soll.
* **`AuthenticationType`**: Diese Enumeration wird verwendet, um das Authentifizierungsverhalten beim Zugriff auf Active Directory über LDAP zu steuern. Mehrere Werte können mit OR kombiniert werden.
# AuthenticationTypes (System.DirectoryServices)
Dieses Enum wird verwendet, um das Authentifizierungsverhalten beim Zugriff auf Active Directory über LDAP zu steuern. Mehrere Werte können mit Bitweise-OR (`|`) kombiniert werden.
| Wert | Name | Beschreibung |
|------|-----------------------|--------------|
| `0` | **None** | Standardverhalten. Es wird keine spezielle Authentifizierung verwendet. |
| `1` | **Secure** | Führt eine sichere Authentifizierung mit NTLM oder Kerberos durch. Anmeldeinformationen werden verschlüsselt übertragen. |
| `2` | **Encryption** | Veraltet. Siehe `SecureSocketsLayer`. Hat denselben Wert. |
| `2` | **SecureSocketsLayer**| Verwendet SSL (LDAPS) über Port 636 für eine verschlüsselte Verbindung. |
| `4` | **ReadonlyServer** | Gibt an, dass eine Verbindung zu einem schreibgeschützten Server (z.B. Global Catalog) hergestellt wird. |
| `16` | **Anonymous** | Anonyme Verbindung ohne Anmeldeinformationen. Aus Sicherheitsgründen oft deaktiviert. |
| `32` | **FastBind** | Überspringt die Sicherheitsüberprüfung beim Binden. Verbessert die Performance, schränkt aber die Funktionalität ein. |
| `64` | **Signing** | Erzwingt die digitale Signierung der Authentifizierungsdaten. |
| `128`| **Sealing** | Verschlüsselt die gesamte Kommunikation mit dem Server. Bietet Vertraulichkeit. |
| `256`| **Delegation** | Ermöglicht die Weitergabe von Anmeldeinformationen an andere Server (z.B. bei Impersonation-Szenarien). |
| `512`| **ServerBind** | Erzwingt eine Authentifizierung durch den Server beim Binden. Wird selten verwendet. |
## Anwendungsbeispiel