현재 Windows 인증을 사용하여 tcp를 통해 연결하는 클라이언트 응용 프로그램과 wcf 서비스가있는 시스템을 검토하고 있습니다.서버의 WindowsIdentity.Current.Name 비교
특정 작업에서 사용자 이름을 개체 속성에 저장하고 서비스로 보내고 클라이언트에서 전달 된 자격 증명과 비교해야합니다. 개체가 추가 처리됩니다.
클라이언트가 최근에 예상 한대로 작동하지 않는다고 최근에 발견되었습니다. 나는이 문제를 조사한 결과, 클라이언트와 서버 측에서 서로 다른 사용자 이름이 사용되는 경우가 있음을 발견했다 (대문자와 소문자의 사용법이 다르다).
나는 실제 fix에 관심이 있지만 가능한 한 string.Equals의 IgnoreCase 옵션을 사용하여 해결 방법을 설치했습니다.
클라이언트에서는 WindowsIdentity.Current.Name을 문자열로 사용하고 서비스 측에서는 ServiceSecurityContext.Current.WindowsIdentity.Name을 문자열로 사용합니다.
이 비교를 수행하는 올바른 방법은 무엇입니까?