HttpContext.Aktuelle.Benutzer nicht aufgefüllt, mit Windows-Authentifizierung aktiviert ist

Habe ich eine asp.net intranet-Anwendung mithilfe der windows-Authentifizierung. Ich habe die Anwendung schon vor Jahren mit VS 2005 und die windows-Authentifizierung bit arbeitete perfekt. Meine web.config ist die folgende (innen-Konfiguration -> system.web-element):

    <authentication mode="Windows" />
    <authorization>
        <deny users="?"/>
    </authorization>

Teste ich diese in Firefox, um zu bestätigen, dass die Anmeldeinformationen erforderlich sind, und in der Tat bin ich aufgefordert, meine Netzwerk-Anmeldeinformationen beim ersten Zugriff auf die Website, und ich bin verweigert, wenn Sie ungültig sind.

Jedoch, wenn ich versuche, auf HttpContext.Aktuelle.Benutzer.Identität, die das Objekt hat leere strings für Namen und AuthenticationType, und Authenticated = false. Ich dachte, ich könnte brauchen, um die WindowsTokenRoleProvider nach der Suche rund um das Internet herum, und das hat auch nichts ändern.

    <roleManager defaultProvider="WindowsProvider" enabled="true" cacheRolesInCookie="false">
        <providers>
            <clear/>
            <add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider"/>
        </providers>
    </roleManager>

Zwei Dinge, die ich getan habe, seit ich das Letzte mal gesehen habe, arbeiten sind ein upgrade das Projekt auf VS 2008 durch den Konvertierungs-Assistenten, und außerdem habe ich es nach unten für mehrere Monate, während meine co-Arbeiter möglicherweise gearbeitet haben, auf die es hier oder dort. Ich war mir ziemlich sicher, dass die einzige Sache, die beeinflusst meine User.Identität sind die Werte in der web.config oben erwähnt, aber anscheinend mache ich etwas falsch. Jemand anderes auch eine ähnliche Problem-oder sehen etwas, was ich falsch mache? Danke.

Haben Sie es getestet im IE?
Yep...getestet im IE als auch. Der einzige Grund, warum ich erwähnt, Firefox, weil der IE automatisch geht, Ihre Anmeldeinformationen in der Erwägung, dass FF zwingt Sie, die Anmeldung über die Eingabeaufforderung. Das ist, wie ich weiß, ich bin die Blockierung anonymer Zugriff, aber ich bin noch immer leer, info auf Benutzer.Identität
Wenn Sie sagen, "wenn ich versuche, auf HttpContext.Aktuelle.Benutzer.Identität", an welcher Stelle in der Seite lifecycle machst du das?
Page_Load. Und denken Sie daran, ich bin gezwungen, die Anmeldeinformationen (geschieht automatisch im IE, aber im Firefox bin ich verpflichtet, log-in). Ich werde spielen, um mit Identitätswechsel Einstellungen auf Montag, wenn ich wieder arbeiten, wie empfohlen, in anderen Beiträgen.

InformationsquelleAutor Rich | 2009-07-31

Schreibe einen Kommentar