In meinem C # -Code muss ich eine benutzerdefinierte Identität für meine Webanwendung erstellen und sie zu IIS 7 hinzufügen. Ich mache folgendes:
%Vor%Wo der Benutzer dem Active Directory als solcher hinzugefügt wird:
%Vor%Wenn ich später meine Website und Anwendung zu IIS 7 unter diesem Anwendungspool hinzufüge, kann die Webanwendung nicht ausgeführt werden, da sie nicht über ausreichende Berechtigungen verfügt. Noch wichtiger ist für mich, einige der .NET-Klassen, wie System. Security.Cryptography schlägt mit unerwarteten Fehlercodes fehl, selbst wenn ich die Lese- / Schreibberechtigungen für dieses neue Benutzerkonto manuell auf den Dateisystemordner setze, in dem meine Webanwendung installiert ist.
Also habe ich während einer Recherche die folgende Anweisung gefunden:
Wenn Sie eine benutzerdefinierte Identität verwenden, stellen Sie sicher, dass das Benutzerkonto Sie Angeben ist ein Mitglied der IIS_IUSRS-Gruppe auf dem Webserver, so dass Der Account verfügt über den richtigen Zugriff auf Ressourcen. Außerdem, wenn Sie verwenden Windows und Kerberos Authentifizierung in Ihrer Umgebung, könnten Sie Sie müssen einen Dienstprinzipalnamen (Service Principle Name, SPN) bei der Domäne registrieren Controller (DC).
Also, wie machst du das?
Wenn Sie dieses Konto zur IIS_IUSERS-Gruppe hinzufügen müssen (die lokal auf der Maschine ist), können Sie das GroupPrincipal
dafür. Denken Sie daran, ein PrincipalContext
zu erstellen, das für Ihren Computer lokal ist und nicht das Domain-Konto, das Sie für den Benutzer verwendet haben. Sie können die Gruppe einfach nach Identität suchen und dann den neu erstellten Benutzer zur Members
- Sammlung hinzufügen. Die Methode Add
hat eine Überladung, die ein UserPrincipal
akzeptiert.
Dein Code würde das mögen:
%Vor%