Die Windows-Authentifizierung fragt nach Benutzername/Passwort
Ich versuche das bereitstellen einer Anwendung in einer client-Netzwerk mit Active Directory/domain controller.
Meine Anwendung ist eine einfache asp.net c# - Anwendung mithilfe der windows-Authentifizierung.
Ich bin mit win2003.
Grundsätzlich mit VS2008, erstellen Sie eine neue website, gehostet auf IIS6.0.
Nur 2 änderungen.
1. Auf IIS-Verzeichnis Sicherheit für die Anwendung, aktiviert "Integrierte Sicherheit".
Hinweis: anonymous ist auch aktiviert.
Nur eine änderung der skeleton-code generiert.
Fügen Sie unterhalb der page_load-Methode der Standard.aspx
using System.Security.Principal;
...
protected void Page_Load(object sender, EventArgs e)
{
WindowsIdentity id = WindowsIdentity.GetCurrent();
Response.Write("<B>Windows Identity Check</B><br>");
Response.Write("Name: " + id.Name + "<br>");
Response.Write("<BR>");
Response.Write("User.Identity: " + User.Identity.Name);
Response.Write("<BR>");
}
Ausgabe von Browser zu der Seite:
Windows-Identität Prüfen - Name: NT AUTHORITY\NETWORK SERVICE
Benutzer.Identität:
Den Benutzer.Identität.Name keine Ausgabe des aktuellen Benutzernamens.
Wie in diesem Artikel beschrieben http://weblogs.asp.net/scottgu/archive/2006/07/12/Recipe_3A00_-Enabling-Windows-Authentication-within-an-Intranet-ASP.NET-Web-application.aspx
Fügte ich hinzu:
<authorization>
<deny users="?"/>
</authorization>
Von dem, was ich userstand ist, dass, wenn dieser Hinzugefügt wird, kann ich den aktuellen Benutzer, Benutzername vom Benutzer.Identität.Name.
Allerdings, wenn ich Hinzugefügt die über, den browser jetzt aufgefordert mich für einen Benutzernamen und ein Passwort. Sobald ich es betreten, ich bin in der Lage, verwenden Sie den Benutzer.Identität.Name der Benutzername. Aber ich möchten nicht die username - /Passwort-pop-up zu erscheinen. Ich will die Anwendung, um den Benutzer zu authentifizieren, basierend auf Ihren Netzwerk-Anmeldeinformationen.
Bin ich etwas fehlt?
- Welchen browser hast du den test mit? Nur der IE pass der Windows-Benutzername/Passwort-Authentifizierung.
- Das ist nicht unbedingt wahr - FireFox unterstützt die Integrierte Windows-Authentifizierung.
- Ja, Firefox hat kein problem mit dieser es einfach nicht behandeln lokale Hostnamen als Vertrauenswürdige/intranet-zone per default wie der IE funktioniert - aber es kann sicher so konfiguriert werden. Es gibt sogar eine vorhandene ADM-Vorlage irgendwo für FF, ich denke, für die faulen Systemadministratoren verwenden.
- Hier ist die check-Liste btw: support.microsoft.com/kb/258063/en-us - nicht sicher, aber nachdem die anonyme auth aktiviert im IIS als auch vielleicht ein problem sein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie, dass der internet explorer kennt die Website ist Teil der zone lokales intranet. Auch unter den Einstellungen für die intranet-zone zu überprüfen, dass die automatische Anmeldung aktiviert ist.
Ihre Konfiguration in IIS ist falsch - den anonymen Zugriff deaktivieren, dann wird die integrierte Authentifizierung wird kick in, vorausgesetzt Sie haben auch Sie in Ihrem web.Konfiguration über
Sie nicht wollen, um änderungen an der Konfiguration in wir.config-Datei. In den server-manager im Website-Authentifizierung, nur Windows-Authentifizierung aktivieren und deaktivieren von anderen Authentifizierungen. geben Sie eine Bild-Beschreibung hier
Windows-Authentifizierung müssen Sie Ihre =windows-Anmeldeinformationen für die Authentifizierung der Benutzer. Das ist der Grund, der login-prompt. Um zu vermeiden, dass Sie brauchen, um Ihre Website IP oder domain als vertrauensvolle intranet-Seite im client-browser.
Für, die;
1)Gehen Sie zu Browser-Einstellungen - > Öffnen proxy-Einstellungen -> Sicherheit -> Lokale Intranet -> Websites -> Advanced
2)fügen Sie Ihre Website-domain oder IP-Adresse
geben Sie eine Bild-Beschreibung hier
Nun sehen, ob Ihr Problem ist Sie ok, nachdem klar ist browser-caching.
Diese Arbeit für mich. 🙂
Überprüfen Sie diese auch
Empfangen von login-prompt mit der integrierten windows-Authentifizierung
Welche URL Ihre Website verwenden, und was ist der IE-zone? Wenn Ihre app ausgeführt wird, außerhalb der LocalIntranet-zone, Pass-through-Authentifizierung ist blockiert, immer Eingabeaufforderung für Benutzer/Passwort.
Ist "Aktivieren Sie Integrierte Windows-Authentifizierung" ausgewählt, im IE in den Internetoptionen?
Tun beide IUSR_ und der Benutzername, betreten Sie über Lese-und Ausführungsberechtigungen für das Verzeichnis, in dem die Anwendung gehostet wird?
Tut selben Verzeichnis wie die Anwendung befinden sich auf dem IIS-server, oder befindet es sich auf einer Freigabe, wo die Windows-Freigabe-Berechtigungen würde ins Spiel kommen?
Ich denke, man kann es nicht kontrollieren von server-app-browser-Funktion übergeben Sie die Anmeldeinformationen zur Verfügung, DH Sie kann empfehlen, Ihre Benutzer zu aktivieren: "aktivieren Sie integrierte Windows-Authentifizierung" in den internet-Optionen->advanced
Sie nicht wollen, um änderungen an der Konfiguration in wir.config-Datei. In den server-manager im Website-Authentifizierung, nur Windows-Authentifizierung aktivieren und deaktivieren von anderen Authentifizierungen. geben Sie eine Bild-Beschreibung hier
Windows-Authentifizierung müssen Sie Ihre =windows-Anmeldeinformationen für die Authentifizierung der Benutzer. Das ist der Grund, der login-prompt. Um zu vermeiden, dass Sie brauchen, um Ihre Website IP oder domain als vertrauensvolle intranet-Seite im client-browser.
Für, die;
1)Gehen Sie zu Browser-Einstellungen - > Öffnen proxy-Einstellungen -> Sicherheit -> Lokale Intranet -> Websites -> Advanced
2)fügen Sie Ihre Website-domain oder IP-Adresse
geben Sie eine Bild-Beschreibung hier
Nun sehen, ob Ihr Problem ist Sie ok, nachdem klar ist browser-caching.
Diese Arbeit für mich. 🙂