2012-04-06 9 views
1

für eine ASP.NET-MVC 2-Anwendung, verwenden wir HttpContext.User.Identity.Name die Benutzername für die Authentifizierung zu erhalten. Dies funktioniert beim Testen gut. Benutzer, die sich in der Datenbank befinden, können auf Bereiche zugreifen, für die sie Berechtigungen besitzen, und andernfalls auf eine 401-Seite umgeleitet werden. Die Seite 401 zeigt ihren Benutzernamen an und erklärt, dass dieser Benutzer nicht berechtigt ist, auf diesen Inhalt zuzugreifen.HttpContext.User.Identity.Name in einer bereitgestellten Anwendung

jedoch in einer entfalteten Umgebung, alle Versuche, jeder Teil der Anwendung den Zugriff auf die 401-Seite umgeleitet, und die angezeigte Benutzername ist leer!

Wie können wir der implementierten Anwendung den Zugriff auf den Benutzernamen der Anfrage ermöglichen?

Aus meiner Forschung, soll ich auf den folgenden Bildschirm gehen und die Windows-Authentifizierung aktivieren, aber es ist nicht in der Liste!

enter image description here

+2

Welches Authentifizierungsschema verwenden Sie? Windows integriert? Formen? –

+0

Windows Integrated – yoozer8

+0

Implementieren Sie eine Bereitstellung in einer Serverfarm? Ich habe Probleme bei der Verwendung von Sitzungsvariablen in einer Serverfarm festgestellt. –

Antwort

1

Ah hilft, wenn Sie IIS 7 verwenden, werden Sie wahrscheinlich zunächst installieren müssen! Here's a good overview. FTA:

Die Standardinstallation von IIS 7 enthält nicht die Windows-Authentifizierung Rollendienst. So verwenden Sie die Windows-Authentifizierung auf IIS, Sie müssen die Rollendienst installieren, deaktivieren Sie die anonyme Authentifizierung für Ihre Website oder Anwendung, und aktivieren Sie die Windows-Authentifizierung für die Website oder Anwendung.

Wenn Sie es nicht als Option sehen, haben Sie es wahrscheinlich nicht installiert.

(Diktiert von meiner Winodws 7 Maschine) Gehen Sie zu Ihrem Startmenü und geben: Windows-Funktionen ein- oder ausschalten drehen.

Als nächstes wird in der Baumansicht des Dialogs finden Sie unter Internet Information Services - World Wide Web Services - Security und dann überprüfen Sie die Windows-Authentifizierung Checkbox.

+0

Danke!Ich hatte diese Information entdeckt und * nur * fertig damit, alles zum Laufen zu bringen, als du das gepostet hast! Ich musste nur die Windows-Funktion einschalten, um sie in die Liste zu bekommen. – yoozer8

2

Wir hatten ein Problem wie dieses, was wir wurde ausgeschaltet anonymen Zugriff in IIS am Ende tun. Denken Sie daran, das Integrierte Feld unten zu überprüfen .. Hope this

+0

"Integrierte Box an der Unterseite" - unten von was? – yoozer8

+0

des Anon Access Window in IIS .. Bitte lassen Sie mich wissen, wenn Sie dies noch nicht gesehen haben. –

+0

Ich habe nicht. Es stellte sich heraus, dass ich nur den anonymen Zugriff deaktivieren und Windows aktivieren musste. Das größte Hindernis war, dass Windows nicht in der Liste war und die Funktion eingeschaltet werden musste (siehe akzeptierte Antwort). – yoozer8

Verwandte Themen