Gibt es eine Möglichkeit, den angemeldeten Benutzer von einer vb.net-Webanwendung abzurufen? IE, wenn jemand auf seinem lokalen Rechner als "foo"/"bar" eingeloggt auf die Seite zugreift, brauche ich Code, um mir "foo"/"bar" zu besorgen. Dies ist für ein Passthrough in unserem Intranet, wo alle dasselbe Active Directory verwenden.Anmelden des Anforderers in ASP.NET/VB.NET
Im Wesentlichen muss ich den Benutzernamen des angemeldeten Benutzers ernten und überprüfen Sie es gegen unsere ActiveDirectory-Instanz. Wenn das fehlschlägt, muss ich nach Request-Variablen suchen und diese überprüfen (dieser Teil ist ziemlich einfach). Wenn DAS dann fehlschlägt, muss ich einen Login-Bildschirm zeigen (ich habe auch einen Griff darüber).
habe ich schon begegnet und verworfen ein paar Lösungen für den Teil I Probleme, bin mit:
- Request.ServerVariables („LOGON_USER“) - Dies funktioniert nur, wenn Sie den anonymen Zugriff haben ausgeschaltet in IIS, und das muss aktiviert sein, um Formularauthentifizierung (die ich verwende) zu verwenden.
- http://www.thescarms.com/dotnet/IsInRole.aspx - Diese Lösung scheint aus irgendeinem Grund nicht zu funktionieren. Ich vermute, dass die Zeile AppDomain.CurrentDomain.SetPrincipalPolicy (Principal.PrincipalPolicy.WindowsPrincipal) das Problem ist, aber die Bedeutung dieser Zeile ist so weit vergraben, dass ich nicht herausfinden kann, was sie eigentlich versucht.
Sie müssen Authentifizierung aktiviert haben, andernfalls wird es immer der anonyme/Standardbenutzer sein. –