Bei der Windows-Authentifizierung wurde ständig nach Benutzername / Kennwort gefragt


13

Ich stelle meine Webanwendung auf bereit iis6. Ich erhalte ständig das Popup "Windows-Sicherheit", um Benutzername und Passwort einzugeben. Ich habe bereits anonymen Benutzer deaktiviert und die integrierte Windows-Authentifizierung überprüft, aber es erfolgt keine "automatische" Anmeldung.

Was soll ich machen?

Ich habe die Sicherheitseinstellungen der lokalen Intranetzone überprüft: "Anmeldung als automatische Anmeldung nur in der Intranetzone". Außerdem ist mein Produktionsserver ein eigenständiger Server und enthält daher möglicherweise kein AD-Konto und keine Anmeldeinformationen.


Welchen Browser benutzen Sie?
Oskar Kjellin

IE und Firefox werden nicht funktionieren ..

Sie sollten möglicherweise Tags für Visual Studio 2010 und c # und asp.net entfernen und Tags für Windows-Server-2003 und iis6 hinzufügen. Wenn Sie die Frage möglicherweise auf einen Serverfehler verschieben, ist ein Administrator besser geeignet, um diese Frage zu beantworten.
Anicho

Antworten:


8

Für Internet Explorer müssen Sie möglicherweise die Serveradresse zur lokalen Intranetzone hinzufügen. IE hat oft Schwierigkeiten, lokale Intranetserver selbst zu erkennen, sodass Sie Ihre Site möglicherweise manuell zu dieser Liste hinzufügen müssen. Sie können dies manuell in den IE-Einstellungen tun oder mithilfe von Gruppenrichtlinien eine Liste von Intranetservern in einer AD-Domäne verwalten. Sie können die von IE für Ihre Site ausgewählte Zone im Menü Datei / Eigenschaften anzeigen.

Für Firefox müssen Sie FF anweisen, Ihre Netzwerkanmeldeinformationen an diese Site weiterzuleiten. in about: config musst du die sites zu den einstellungen hinzufügen

network.automatic-ntlm-auth.trusted-uris

und

network.negotiate-auth.trusted-uris

.


Hey, weil ich kein Administrator bin, kann ich die Site nicht zur Zone hinzufügen. es ist ausgegraut! Ja, ich habe versucht, dies auf meinem lokalen Entwicklungs-PC zu tun, und es funktioniert. Aber was soll ich am Produktionsserver tun?

Nichts auf dem Server. Es ist ein clientseitiges Problem. Sie müssen den Clientadministrator bitten, den Servernamen der lokalen Intranetzone hinzuzufügen oder den DNS-Namen des Servers so zu ändern, dass er mit den Einstellungen übereinstimmt, die sich bereits in dieser Zone befinden (z. B. wenn die Zone für * .company konfiguriert ist. com und Ihr Server ist randonname.differentdns.com, stellen Sie sicher, dass er über newname.company.com zugänglich ist.)
TristanK

3

http://support.microsoft.com/?id=258063 Alles, was Sie wissen müssen, lassen Sie mich wissen, wie es geht.

Ich würde diesen schönen Artikel gerne umschreiben und Anerkennung finden, aber das ist Betrug. Ich bin selbst in die Hände dieser Ausgabe gefallen, aber dieser Artikel war ein Lebensretter. Ich behalte ihn in meinen Lesezeichen unter IIS solutions lol.

Aktualisieren:

Lassen Sie uns das klarstellen, Sie haben Ich gehe von einer Windows Server 2003/2003 / R2-Box oder einer XP-Maschine mit IIS6 aus.

Bevor wir näher darauf eingehen, überprüfen Sie Folgendes: Vergewissern Sie sich, dass Sie eine neue Site in iis6 eingerichtet haben und auf einen Ordner in iis6 verweisen. C:\inetpub\wwwroot\Wenn dort keine Verweise auf C:\MyOwnFolderoder C:\Program Files\SomeFolderin Ordnung sind, müssen Sie sicherstellen, dass Ordner über die folgenden Berechtigungen verfügen:

Inetpub\wwwroot (or C:\MyOwnFolder) Administrators        Full control 
Inetpub\wwwroot (or C:\MyOwnFolder) System                Full control 
Inetpub\wwwroot (or C:\MyOwnFolder) IIS_WPG               Read, execute 
Inetpub\wwwroot (or C:\MyOwnFolder) IUSR_MachineName      Read, execute 
Inetpub\wwwroot (or C:\MyOwnFolder) ASPNET                Read, execute 

Quelle: http://support.microsoft.com/kb/812614

Nun sollten Sie sich Ihre IIS-Einstellungen ansehen.

So deaktivieren Sie die Authentifizierung in IIS

  1. Starten Sie den IIS-Manager oder öffnen Sie das IIS-Snap-In.

  2. Erweitern Sie Servername, wobei Servername der Name des Servers ist, und erweitern Sie dann Websites.

  3. Klicken Sie in der Konsolenstruktur mit der rechten Maustaste auf die Website, das virtuelle Verzeichnis oder die Datei, für die Sie die Authentifizierung konfigurieren möchten, und klicken Sie dann auf Eigenschaften.

  4. Klicken Sie auf die Registerkarte Verzeichnissicherheit oder Dateisicherheit (je nach Bedarf), und klicken Sie dann unter Anonym und Zugriffssteuerung oder Authentifizierung und Zugriffssteuerung auf Bearbeiten.

  5. Deaktivieren Sie alle Optionen neben der Authentifizierungsmethode oder den Authentifizierungsmethoden, die derzeit aktiviert sind, und klicken Sie dann auf OK.

  6. Klicken Sie hier, um den anonymen Zugriff zu aktivieren

  7. Stellen Sie sicher, dass der Benutzername auf MACHINENAME \ IUSR_MACHINENAME festgelegt ist, und ersetzen Sie MACHINENAME offensichtlich durch den Namen Ihres Servers / Computers.

  8. IUSR ist ein eingebautes Konto, das sich automatisch authentifizieren soll

Quelle: http://support.microsoft.com/kb/324274 (dieser Artikel ist das Gegenteil von dem, was ich Ihnen gerade gezeigt habe)

Versuchen Sie dies alles, wenn es nicht funktioniert. Ich werde einige weitere Schritte geben. Es gibt eine Milliarde und eine Sache, die Sie überprüfen können.


Entschuldigung, ich bin ein bisschen verwirrt. Weil ich so viele Möglichkeiten ausprobiert hatte, während mein vorheriges Projekt erfolgreich war. Vielleicht liegt es am Server, aber der Teil "Sicherheitseinstellung für die Intranetzone des Internet Explorers" funktioniert nicht sowohl auf Client- als auch auf Serverseite, und ich konnte die Serveradresse nicht zum Browser des Clients hinzufügen, da sie keine Administratorrechte haben.

@ HuatsinYeo Ich habe meine Antwort aktualisiert.
Anicho

0

Sie sollten die Dateiauthentifizierung in Windows überprüfen. Ex authentifizierte Benutzergruppe. Sie müssen sich um zwei Authentifizierungen kümmern. IIS-Authentifizierung und Dateisystemzugriff.


0

Bevor die Anmeldeinformationen für den Anwendungspool aktiviert werden, wird das Konto IUSR_Computername zum Laden der Konfiguration für die Website verwendet. Stellen Sie sicher, dass das Konto IUSR_Computername (auch als Aspnet-Konto bezeichnet) Lesezugriff auf den Ordner hat, in dem diese Anwendung bereitgestellt wird.


Nein, ist es nicht. App-Pool-Anmeldeinformationen werden als Erstes zum Starten und Lesen der Konfiguration eines App-Pools verwendet.
TristanK

-1

Nun, ich bin neu bei Dotnet. Ich weiß nicht, ob die Lösung, die für mich und das oben Genannte funktioniert hat, die gleiche ist, aber auf jeden Fall habe ich Folgendes getan.

Auch bei einem Upload-Dienstprogramm traten Probleme auf, und jedes Mal, wenn der Benutzer auf die Schaltfläche "Upload" klickte, wurde ein Popup-Fenster angezeigt, in dem er nach Anmeldeinformationen gefragt wurde (die ursprünglich nie aufgetreten waren). Dies führte letztendlich zum Fehler "401 ungültige Anmeldeinformationen".

Sie müssen lediglich im IISNET-Manager auf dem Server zu dem betreffenden Ordner / der betreffenden Website gehen und mit der rechten Maustaste klicken und die Sicherheit prüfen. Fügen Sie die Benutzer / Gruppen hinzu, die Zugriff auf das Hochladen haben sollen, und erteilen Sie ihnen die volle Berechtigung, falls diese noch nicht vorhanden sind.

Nach dieser Änderung sollten sie in der Lage sein, auf die Datei zuzugreifen / sie hochzuladen, ohne eine Aufforderung zur Eingabe von Anmeldeinformationen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.