다음을 통해 공유


폼 인증 제어 흐름

업데이트: 2007년 11월

다음 표에서는 ASP.NET 폼 인증의 제어 흐름을 보여 줍니다.

브라우저 및 HTTP 작업

서버 응답

서버에서 보호되는 리소스를 요청합니다. HTTP 작업은 다음과 같습니다.

GET /default.aspx

인증 쿠키가 없는 경우 자격 증명을 수집하기 위해 요청을 로그온 페이지로 리디렉션합니다. 원래 페이지에 대한 정보는 RETURNURL을 키로 사용하여 쿼리 문자열에 저장됩니다. 서버 HTTP 응답은 다음과 같습니다.

302 Found
Location: http://samples.microsoft.com/logon.aspx?RETURNURL=/default.aspx

로그온 페이지로 리디렉션을 따릅니다. HTTP 작업은 다음과 같습니다.

GET /logon.aspx?RETURNURL=/default.aspx

로그온 페이지를 반환합니다. 보안을 위해 사용자의 자격 증명이 일반 텍스트로 전송되지 않도록 로그온 페이지에 SSL(Secure Sockets Layer)을 사용하는 것이 좋습니다. 서버 HTTP 응답은 다음과 같습니다.

200 OK

사용자가 로그온 페이지에 자격 증명을 입력한 후 페이지를 제출합니다. HTTP 작업은 다음과 같습니다.

POST /logon.aspx?RETURNURL=/default.aspx

사용자 자격 증명을 확인하여 자격 증명이 인증되면 QueryString에 RETURNURL 변수로 지정된 원래 URL로 브라우저를 리디렉션합니다. 기본적으로 인증 티켓은 쿠키로 발급됩니다.

참고:
CookieMode 속성을 사용하여 쿠키 대신 URL에 인증 티켓을 포함하도록 지정할 수 있습니다.

서버 HTTP 응답은 다음과 같습니다.

302 Found
Location: /default.aspx

리디렉션을 따라 원래 리소스를 다시 요청합니다. HTTP 작업은 다음과 같습니다.

GET /default.aspx

사용자가 인증되면 액세스를 허용하고 인증 티켓이 포함된 인증 쿠키를 허용합니다. 같은 브라우저 세션의 후속 요청은 모듈에서 해당 쿠키를 검사할 때 인증됩니다. 후속 세션에서도 사용할 수 있는 영구 쿠키를 만들 수 있지만 쿠키 만료 날짜까지로 제한됩니다. 서버 HTTP 응답은 다음과 같습니다.

200 OK
Set-Cookie: ASPXTICKET=ABCDEFG12345;Path=/

쿠키 경로는 /로 설정됩니다. 쿠키 이름은 대/소문자를 구분하므로 사이트에서 URL의 대/소문자를 일관되게 유지할 수 있습니다. 예를 들어, 경로가 /SavingsPlan으로 설정되어 있는데 링크에 /savingsplan이 있는 경우, 브라우저에서 쿠키를 보내지 않기 때문에 사용자는 다시 인증을 받아야 합니다.

참고 항목

기타 리소스

ASP.NET 웹 응용 프로그램 보안

폼 인증 공급자