2010-09-03 6 views
5

Ich versuche, mich an II7 zu gewöhnen, nachdem ich eine ganze Weile mit IIS6 gearbeitet habe.IIS 7 Identitätswechsel und Identitäten

In IIS 6 würde ich <identity impersonate="true"/> in der web.config festlegen und sicherstellen, dass ich die richtigen NTFS-Berechtigungen auf das Konto IUSR_ [MACHINENAME] angewendet, wenn ein Ordner mehr als Leseberechtigungen benötigt.

In IIS 7 habe ich Probleme, dieses Setup zu duplizieren, ohne auf zu viele Berechtigungen zurückgreifen zu müssen.

Wenn ich <identity impersonate="true"/> in IIS 7 verwende, sagt Environment.Username, dass ich tatsächlich die Identität des IUSR-Kontos, das das neue Äquivalent ist. Wenn ich mich jedoch mit der Formularauthentifizierung am Admin-Bereich der Website anmelde, nimmt sie eine andere Identität an als erwartet.

Mit NetworkService- im Applikationspool:

  • nicht angemeldet: IUSR, nicht Identitätswechsel: [MACHINENAME-] $
  • angemeldet: [MACHINENAME-] $, nicht Identitätswechsel: [MACHINENAME-] $

Mit LocalService- Satz im Anwendungspool:

  • nicht angemeldet: IUSR, nicht Imitieren ting: LOCAL SERVICE
  • angemeldet: LOCAL SERVICE, nicht Identitätswechsel: LOCAL SERVICE

Wenn ich die IIS_IUSRS den NTFS-Berechtigungen-Konto gebe ich die Dinge gut funktionieren machen, aber dies scheint seltsam. Wie kann ich mich immer als IUSR-Konto ausgeben? Oder soll ich die NTFS-Berechtigungen für IIS_IUSRS geben?

Ich würde eine gute Erklärung dieser Änderung in IIS7 schätzen - Ich habe gesucht und kann keine Erklärung für diese Verwendung mit Formularauthentifizierung finden.

+0

Hallo @ScottE Sie dieses Problem gelöst? – Vladut

Antwort

1

Hier ist ein Ausschnitt aus einem Technet-Artikel hilft :

Wenn Sie Identitätswechsel für eine ASP.NET-Anwendung zu aktivieren, dass die Anwendung kann in einem von zwei verschiedenen -Kontexten ausgeführt werden: entweder als Benutzer authentifiziert von IIS 7 oder als beliebiges Konto, das Sie einrichten. wenn Sie Anonymous Authentifizierung für Beispiel wurden mit und entschied sich für die ASP.NET-Anwendung als authentifizierten Benutzer ausgeführt werden, die Anwendung würde unter einem Konto ausgeführt für anonyme Benutzer einrichten (in der Regel IUSR). Wenn Sie die Anwendung unter einem beliebigen -Konto ausführen möchten, würde dies unter dem Sicherheitskontext ausgeführt werden, der für das Konto eingerichtet wurde. Hier

ist das vollständige Dokument:

http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx

+0

Dies erklärt nicht, was passiert, wenn Sie über Formularauthentifizierung angemeldet sind. Versuchen Sie mein Beispiel oben und Sie werden sehen. – ScottE

+0

http://technet.microsoft.com/en-us/library/cc733010%28WS.10%29.aspx – Cypher

1

Die Pipelineänderungen in IIS 7 behandeln die Authentifizierung sehr anders als frühere Versionen. Die meisten Szenarien sind genauso möglich, aber das Setup ist anders.

Sie zu diesem Eintrag 7.0 auf „breaking Änderungen“ in IIS aussehen sollte Es sollte Sie eingrenzen helfen, was

geschieht

http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/

Hoffnung, die

+0

Ich habe das schon gelesen - ich bekomme keinen Fehler. Es ist keine Veränderung, es ist ein Verständnis, nach dem ich suche. – ScottE