0

Windows APIに依存するIIS 7.5で動作するWeb API 2(VB.Net)で構築されたAPIがあり、AngularJSアプリケーションによって照会されます。すべては1年ほどでうまくいっていますが、最近は結婚してから数日前にユーザー名を変更したユーザーがいます。Web API 2 RequestContext.PrincipalはWindows認証で前のユーザー名を返します

通常のWindowsログインプロセスはすべて新しいユーザー名で動作しますが、APIが使用しようとする資格情報は常に古いユーザー名を参照します。

AngularJS:

$http.get($rootScope.urlAPI + 'access/', {  
    cache: false, 
    withCredentials: true 
}).success 
... 

ウェブ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が何とか返している彼らの古いユーザー名を直接

QUブラウザからAPIを抹消すると古いユーザー名と同じJSON結果が返されるため、特にAngularJSアプリではなく、ブラウザとAPIの間に問題があるとは思われません。

この問題はIE11 Google Chromeを使用していましたが、ブラウザのキャッシュを消去してCookieを削除しようとしましたが、IISでAPIのWebサイトサービスを再起動してAPIを再ロードしようとしました。

私たちはドメインコントローラが2つしかなく、数日後に同期されているので、彼女のアカウントの属性をスクロールしましたが、古いユーザー名は参照できませんので、私は迷っていますこれはどこから来ていますか:(

答えて

0

他の人にとっては、サーバーの再起動後に解決されたようです。すべてのサーバーを段階的に再起動する定期的なメンテナンスを行っています。コントローラー、データベースサーバー、APIサーバーなど、今朝ユーザーに問題を解決しました。

ちょっと残念ながら、 ...おそらくどこかにキャッシュされています。

関連する問題