Ich habe eine API mit Web API 2 (VB.Net) erstellt, die auf IIS 7.5 ausgeführt wird, die auf Windows-Authentifizierung basiert und von einer AngularJS-App abgefragt wird. Alles hat gut für ein Jahr oder so funktioniert, aber wir haben jetzt einen Benutzer, dass wir ihren Benutzernamen vor ein paar Tagen geändert haben, als sie kürzlich geheiratet haben.Web API 2 RequestContext.Principal Zurückgeben des vorherigen Benutzernamens mit Windows-Authentifizierung
Alle normalen Windows-Login-Prozesse funktionieren mit dem neuen Benutzernamen, aber die Anmeldeinformationen, die die API zu verwenden versucht, beziehen sich immer auf den alten Benutzernamen.
AngularJS:
$http.get($rootScope.urlAPI + 'access/', {
cache: false,
withCredentials: true
}).success
...
Web API 2:
<HttpGet>
<Route("api/access")>
<ResponseType(GetType(UserAccessDTO))>
<NoCachePolicy>
<Authorize> _
Function GetStaffAccessForApp() As UserAccessDTO
Dim objUser As System.Security.Principal.WindowsPrincipal = RequestContext.Principal
Dim strUsername As String = objUser.Identity.Name
' strUsername is somehow returning their old username
...
strUsername irgendwie ihre alten Benutzernamen
Direkt Rückkehr qu Das Ermitteln der API aus dem Browser gibt das gleiche JSON-Ergebnis mit dem alten Benutzernamen zurück. Daher glaube ich nicht, dass das Problem speziell mit der AngularJS-Anwendung zu tun hat ...
Dieses Problem tritt bei beiden IE11 auf und Google Chrome und ich haben versucht, den Browser-Cache zu löschen, Cookies gelöscht und auch versucht, den Website-Dienst der API in IIS neu zu starten, um die API neu zu laden.
Wir haben nur 2 Domänencontroller und es ist ein paar Tage gewesen, also sind sie definitiv synchronisiert und ich habe durch die Attribute ihres Kontos gescrollt, kann aber keinen Hinweis auf ihren alten Benutzernamen finden, also bin ich ratlos woher kommt das :(