다음을 통해 공유


HttpWebRequest.PreAuthenticate 속성

정의

요청과 함께 Authorization 헤더를 보낼지 여부를 나타내는 값을 가져오거나 설정합니다.

public:
 virtual property bool PreAuthenticate { bool get(); void set(bool value); };
public override bool PreAuthenticate { get; set; }
member this.PreAuthenticate : bool with get, set
Public Overrides Property PreAuthenticate As Boolean

속성 값

인증이 수행된 후 요청이 포함된 HTTP 권한 부여 헤더를 보내는 true. 그렇지 않으면 false. 기본값은 false.

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

특정 Uri 대한 클라이언트 요청이 성공적으로 인증된 후 PreAuthenticatetrue 자격 증명이 제공되면 권한 부여 헤더가 각 요청과 함께 마지막 슬래시까지 특정 Uri 일치하는 모든 Uri 전송됩니다. 따라서 클라이언트 요청이 다음을 포함하는 특정 Uri 성공적으로 인증된 경우:

http://www.contoso.com/firstpath/

그런 다음 사전 인증에 대한 권한 부여 헤더가 각 요청과 함께 다음 Uri 인스턴스로 전송됩니다.

http://www.contoso.com/firstpath/

http://www.contoso.com/firstpath/default

http://www.contoso.com/firstpath/default.html

http://www.contoso.com/firstpath/sample.html

그러나 권한 부여 헤더는 다음 Uri 인스턴스에 대한 요청과 함께 전송되지 않습니다.

http://www.contoso.com/

http://www.contoso.com/firstpath

http://www.contoso.com/secondpath/

http://www.contoso.com/firstpath/thirdpath/

특정 Uri 대한 클라이언트 요청이 성공적으로 인증되지 않은 경우 요청은 표준 인증 절차를 사용합니다.

첫 번째 요청을 제외하고 PreAuthenticate 속성은 서버에서 챌린지를 기다리지 않고 마지막 슬래시까지 특정 Uri 일치하는 Uri 후속 요청이 포함된 인증 정보를 보낼지 여부를 나타냅니다.

클라이언트와 서버 간의 다음 대화 상자는 이 속성의 효과를 보여 줍니다. 대화 상자에서는 기본 인증이 사용 중이라고 가정합니다.

PreAuthenticate false:

클라이언트: GET someUrl

서버: 401 WWW-Authenticate 기본

클라이언트: 권한 부여 헤더를 사용하여 GET

서버: 200 OK

클라이언트: GET someUrl

서버: 401 WWW-Authenticate 기본

클라이언트: 권한 부여 헤더를 사용하여 GET

서버: 200 OK

PreAuthenticate true:

클라이언트: GET someUrl

서버: 401 WWW-Authenticate 기본

클라이언트: 권한 부여 헤더를 사용하여 GET

서버: 200 OK

클라이언트: 권한 부여 헤더를 사용하여 someUrl 가져오기

인증 체계가 사전 인증을 지원하지 않는 경우 이 속성의 값은 무시됩니다.

적용 대상