문제

Nhibernate의 iPreupDatelistener를 사용하여 감사 보고서를 기록하는 ASP.NET 앱이 있습니다.수신기 이벤트에서 현재 사용자를 설정하려면 System.Security.Principal.WindowsIdentity.getCurrent ()를 사용하고있었습니다.이것은 내 컴퓨터에서 디버깅 할 때는 잘 작동하지만 스테이징 서버로 이동하면 요청한 사용자가 아닌 ASP.NET 프로세스 자격 증명을받습니다.

ASP.NET 페이지에서는 요청을 사용할 수 있습니다. LOGONUSERIDENTITED (통합 인증을 사용하는 이후로 잘 작동합니다).하지만이 사용자가 내 이벤트에 직접 전달하지 않아도이 사용자는 어떻게 참조합니까?나는 정말로 중간 이벤트 / 호출에 속하지 않기 때문에이 정보를 파이프 라인을 통해 전달하고 싶지 않습니다.

도움이 되었습니까?

해결책

ASP.NET 컨텍스트에서 코드가 실행 중이면 HttpContext.Current (정적)에는 현재 HTTP 컨텍스트가 들어 있습니다.항상 null인지 여부를 테스트 할 수 있습니다.null이 아니라면 HttpContext.Current.Request를 얻을 수 있습니다.

그러나이 요청 내에있는 ID는 궁극적으로 웹 사이트 (IIS, Cassini, IIS Express 또는 Custom)가 ID를 처리하는 방법에 따라 다릅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top