0
사인 아웃 후 로그 아웃 프로세스에 문제가 있습니다. user.identity.getuserid()가 null을 반환해야하는지 여부와 상관없이 userid 값을 반환합니다. Screenshot here 여기왜 성공적으로 로그 아웃 한 후 user.identity.getuserid()는 웹 API에서 사용자 ID 값을 반환합니까?
/// <summary>
/// Logout
/// </summary>
/// <returns>Http 200 Result</returns>
[Route("Logout")]
public async Task<IHttpActionResult> Logout()
{
//Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
string userId = User.Identity.GetUserId();
await UnitOfwork.ActiveUserRepository.DeleteOne(Builders<ActiveUser>.Filter.Where(o => o.UserId == userId));
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType, DefaultAuthenticationTypes.ExternalBearer);
Authentication.SignOut(CookieAuthenticationDefaults.AuthenticationType, DefaultAuthenticationTypes.ExternalCookie);
var autheticationManager = HttpContext.Current.GetOwinContext().Authentication;
autheticationManager.SignOut(CookieAuthenticationDefaults.AuthenticationType);
ManageLogOutHistory();
return Ok();
}
로그 아웃 한 후 '직접 실행 창'에서 사용자 ID 값을 반환했습니다. –
현재 웹 요청과 관련하여 '캐싱'문제 일 수 있습니까? 'Logout'을 두 번째로 호출하면 (직선) 두 번째 요청에서'userId'의 값은 무엇입니까? – mjwills
스크린 샷을 첨부했습니다. 스크린 샷을 클릭하십시오. –