폼 인증 티켓 및 쿠키 이해


ASP.NET 지원 음성 열


폼 인증 티켓 및 쿠키 이해

이 칼럼의 필요에 맞게 다루었으면 보려고 하는 문제와 관심 있는 항목에 대 한 아이디어를 향후 기술 자료 문서 및 Support Voice 칼럼을 초대 하려고 합니다. 의견이 나 요청에 대해이 양식을 사용 하 여 피드백을 제출할 수 있습니다. 이 칼럼의 맨 아래에 폼에 대 한 링크가 있습니다.

소개

Microsoft ASP.NET Support Voice 칼럼을 시작 합니다. 필자는 ASP.NET 개발자 지원 팀 Nilay B. 샤. 내가 작업 중이 던 한 반 년 이상에 대 한 ASP.NET 지원 합니다. 폼 인증 정말 멋진 인증 기능을입니다. 이 문서에서는 몇 가지 문제는 사용자가 폼 인증을 폼 인증 티켓이 및 폼 인증 쿠키 및 관련 설정을 관계 혼란 발견 했습니다. Jerry Orman, 기술 책임자 ASP.NET 지원 팀에 대 한 그의 뛰어난 도움말 감사 하겠습니다!

밀접 하 게 관련 되어 있기 때문에 사람들이 때때로 폼 인증 "티켓" 및 "쿠키"에 대 한 궁금해. 나는 이러한 질문을 통해 온 것: 쿠키 만료 및 티켓 만료 차이 설명할 사람이 수 있습니까? 쿠키가 만료 되 면 사용자는 로그온 페이지로 이동 합니다. 티켓이 만료 되 면 어떻게 됩니까? 또한 만료 되는 쿠키를 만들 것이 있습니까? 어떤은 SlidingUpdate 실제로 업데이트 하 시겠습니까?

난이 문서의 다음 질문에 대답 하려면 폼 인증의 두 가지 측면에 대해 중점적으로:
  • 폼 인증 티켓 및 폼 인증 쿠키는 무엇입니까? 이러한 관계?
  • 폼 인증 티켓의 역할은 무엇입니까?
  • 쿠키 만료 및 티켓 만료 어떻게 관련이 있습니까?
  • 폼 인증 티켓이 컨텍스트에서 상대 (sliding) 만료 작업은 하 고 인증 쿠키를 구성 어떻게?
  • 폼 인증 쿠키 및 폼 인증 티켓 시간 제한 속성 설정 위치
  • 문제 시나리오: 폼 인증 구성 파일에 설정 된 제한 시간 특성 값 전에 시간이 초과 될 수 있습니다.

폼 인증 티켓 및 폼 인증 쿠키는 무엇입니까? 이러한 관계?

폼 인증 쿠키는 폼 인증 티켓의 컨테이너에만 있습니다. 티켓의 각 요청에 폼 인증 쿠키 값으로 전달 되 고 서버에서 폼 인증을 통해 인증된 된 사용자를 식별 하기 위해 사용 됩니다.

그러나 쿠키 없는 폼 인증을 사용 하도록 선택 하는 경우 암호화 된 형식으로 URL에서 티켓 전달 됩니다. 쿠키 없는 폼 인증에는 클라이언트 브라우저에서 쿠키를 차단 하는 경우가 있기 때문에 사용 됩니다. 이 기능은 Microsoft.NET Framework 2.0에에서 도입 되었습니다.

자세한 내용은 다음 Microsoft Developer Network (MSDN) 웹 사이트를 방문 하십시오.

폼 인증 티켓의 역할은 무엇입니까?

폼 인증 티켓은 ASP.NET 응용 프로그램에서 사용자에 사용 됩니다. 따라서 티켓 폼 인증 보안 빌딩 블록입니다.

티켓 암호화 되 고 서버의 Machine.config 파일의 < machineKey > 구성 요소를 사용 하 여 서명. ASP.NET 2.0 decryptionKey< machineKey > 요소의 새 암호 해독 특성을 사용 하 여 폼 인증 티켓을 암호화. 암호 해독 특성에 사용할 암호화 알고리즘을 지정할 수 있습니다. ASP.NET 1.1 및 1.0는 구성할 수 없습니다 3DES 암호화를 사용 합니다. 티켓 값으로 변조 서버에 티켓의 암호를 해독 하는 데 실패에 의해 결정 됩니다. 결과적으로, 사용자는 로그온 페이지로 이동 합니다.


응용 프로그램을 웹 팜에 배포 하는 경우 각 서버의 구성 파일은 각각 해시 및 티켓의 암호 해독에 사용 되는 < machineKey > 태그의 validationKeydecryptionKey 특성에 대해 같은 값을 공유 하 고 있는지 확인 해야 합니다. 후속 요청을 처리할 서버를 않을 수 있으므로 이렇게 해야 합니다. FormsAuthenticationTicket 암호화 및 웹 팜 배포 고려 사항에 대 한 자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.수동으로 키를 생성 하는 방법을 단계별로 다음 Microsoft 기술 자료 문서에서 찾을 수 있습니다.
312906 폼 인증에 사용 하기 위해 C# NET를 사용 하 여 키를 만드는 방법

313091 폼 인증에 사용 하기 위해 Visual Basic.NET을 사용 하 여 키를 만드는 방법

폼 인증 티켓 FormsAuthenticationTicket 클래스를 사용 하 여 수동으로 생성할 수 있습니다. 자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.

쿠키 만료 및 티켓 만료 어떻게 관련이 있습니까?

비 영구적인 쿠키 시 티켓이 만료 된 경우 쿠키를 또한 만료 및 사용자 로그온 페이지로 리디렉션됩니다. 다른 쪽에 티켓이 클라이언트 상자에서 쿠키가 저장 되어 영구로 표시 되는 경우 브라우저가 사용할 수 있는 동일한 인증 쿠키를 언제 든 지 웹 사이트에 로그온. 그러나 우리 사용할 수 영구 삭제 하려면 FormsAuthentication.SignOut 메서드 또는 비 영구적인 쿠키는 명시적으로.

FormsAuthentication.SignOut 메서드에 대 한 자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.쿠키 없는 폼 인증을 사용 하 여는 브라우저를 닫은 경우 티켓이 손실 되 고 요청 시 새 티켓이 생성 됩니다.

폼 인증 티켓이 컨텍스트에서 상대 (sliding) 만료 작업은 하 고 인증 쿠키를 구성 어떻게?

요소가 같은 방식으로 작동!

하자 예를 걸릴: 5:00 로그온 페이지를 사용 하는 경우 액세스 오후 00시: 00, 5:10 00시: 00 PM 경우 timeout 특성 10 slidingExpiration 특성이 TRUE로 설정 된 만료. 이제 웹 페이지를 다시 5시 05분에 찾아볼 오후 00시: 00, 5:15 쿠키 및 티켓 시간 제한 기간을 재설정 됩니다 오후 00시: 00.

참고: 만료 시간 패스 절반을 전에 웹 페이지에 액세스 하면 티켓 만료 시간이 다시 설정 되지 않습니다. 5시 04분에 다시 액세스 하는 웹 페이지 전경 들어 오후 00시: 00, 쿠키 및 티켓 시간 초과 기간이 다시 설정할 수 없습니다.

자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.

폼 인증 쿠키 및 폼 인증 티켓 시간 제한 값 설정 위치

Web.config 파일이 나 Machine.config 파일에서 < 양식 > 태그 만들 수 있는 유일한 설정이입니다. 티켓이 수동으로 생성 하지 않는 한이 변경은 티켓 또는 쿠키의 컨텍스트에서 폼 인증의 시간 제한 기간을 결정 합니다.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.티켓 FormsAuthenticationTicket 클래스를 사용 하 여 수동으로 생성 되는 경우 제한 시간 만료 속성을 통해 설정할 수 있습니다. 이 값은 구성 파일에 지정 된 제한 시간 특성 값 보다 우선 합니다.

FormsAuthenticationTicket 멤버에 대 한 자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.

문제 시나리오: 폼 인증 구성 파일에 설정 된 제한 시간 특성 값 전에 시간이 초과 될 수 있습니다.

폼 인증 티켓이 수동으로 생성 하는 경우 티켓 시간 제한 속성 구성 파일에 설정 된 값을 재정의 합니다. 따라서 구성 파일의 값 보다 작으면 그 값 이면 제한 시간 에 구성 파일 전에 인증 티켓이 만료 되는 양식 값과 반대의 특성입니다. 예를 들어, < 양식 >timeout 특성을 30 Web.config 파일에서 설정 하 고 티켓 만료 값은 20 분으로 설정 됩니다 가정 합니다. 이 경우 20 분 후에 폼 인증 티켓이 만료 됩니다 하 고 사용자를 그 후에 다시 로그온 해야 합니다.

관련된 링크

910439 폼 인증 문제 해결.

891032 ASP.NET 문제 해결.

301240 C#.NET을 사용 하 여 ASP.NET 응용 프로그램에서 폼 기반 인증을 구현 하는 방법

308157 Visual Basic.NET을 사용 하 여 ASP.NET 응용 프로그램에서 폼 기반 인증을 구현 하는 방법

이 내용은 일부 ASP.NET 폼 인증 티켓 및 쿠키와 관련 된 혼란을 부드럽게 하는 데 도움이 발견 바랍니다. 기억 Support Voice 칼럼은! 언제나 원하는 주제에 대 한 의견을 자유롭게 배달 나중에 열 또는 사용 하 여 Microsoft 기술 자료에 있는
요청에 대 한 그 형태입니다.