최근에 서버가 리디렉션을 반환하면 NetworkCredential 및 HttpWebRequest.Credentials와 관련하여 question을 요청했습니다. 내 시나리오에서 NetworkCredential 인스턴스의 CredentialCache를 만드는 것이 효과적이라고 판단했습니다. 이제 모든 도메인 이름이 하드 코딩 된 CredentialCache를 만드는 임시 메서드가 있습니다. 효과적이었습니다.리디렉션을 알면 HttpWebRequest.Credentials에 대한 CredentialCache 빌드
CredentialCache cache = new CredentialCache();
cache.Add(new Uri("http://example.com"), "Negotiate", loginCredentials);
cache.Add(new Uri("http://redirected.example.com"), "Negotiate", loginCredentials);
request.Credentials = cache;
이제 이것을 더 유연하게 만들 필요가 있습니다. 리디렉션에 대한 전체 아이디어는 서버에서의로드 균형 조정입니다. 클라이언트는 HttpWebRequest.GetResponse()를 호출 할 때까지 리디렉션되는 위치를 정확히 알 수 없습니다. 리디렉션 된 각 서버가 포함될 때이를 포함하도록 CredentialCache를 작성하는 기본 방법은 무엇입니까? 또한 이것을 어렵게 만드는 합리적 이유는 무엇입니까? 하나의 NetworkCredentials 인스턴스가 각 리디렉션에 대해 HttpWebRequest.Credentials를 만족시킬 수없는 이유는 무엇입니까? 리디렉션에서 자격 증명을 다시 사용하기 위해 보안 취약성이 도입됩니까?
감사합니다.
나는 내가 할 수있는 바랍니다. 우리는 프로그램이 지역 계정으로 운영 될 수 있어야합니다. 그래서, 사용자가 유효한 kerberos 자격 정보를 입력하는 로그인 대화 상자 창을 작성했습니다. – Nate