일부 데이터를 세션 상태로 저장하려고합니다. 사용자가 양식 인증을 통해 처음 로그인 할 때이 데이터를 저장해야합니다. 폼 인증 티켓 만료와 동일한 수명을 갖기 위해이 세션 상태 변수가 필요합니다. 이 둘이 동기화 된 상태를 유지할 수있는 방법이 있습니까?세션 상태에 데이터 저장 및 Froms 인증 세션 동기화 유지
답변
이러한 두 가지 동기화 상태를 유지할 수있는 방법이 있습니까?
둘 다 web.config에서 동일한 값으로 설정할 수있는 시간 초과 값이 있습니다. 이제 여기에 귀하의 문제가 시작될 수있는 곳이 있습니다. 폼 인증 쿠키는 세션이 만료되는 반면 슬라이딩 만료 설정을 가질 수 있습니다. 두 개의 시간 초과 값을 일치 시키려면 인증 쿠키에 대해이 슬라이딩 만료를 비활성화하십시오. 그리고 그것은 시작에 불과합니다. 세션의 경우 저장 위치를 Off, InProc, StateServer, SqlServer 중에서 선택할 수 있습니다.
Off (개인적으로 내가 사용하는 것)를 사용하면 ASP.NET 세션이 비활성화되고 기본적으로 세션이 없습니다.
InProc (기본값)로 설정하면 세션이 메모리에 저장됩니다. IIS가 다른 상황, 즉 비활성 기간, 특정 CPU/메모리 임계 값에 도달하면 AppDomain을 재활용하기로 결정할 수 있다는 것을 제외하고는 ... 기본적으로 세션이 메모리에 저장되고 AppDomain이 웹 서버에 의해 언로드되면 분명히 인증 쿠키가 계속 유효한 반면이 세션에 저장된 모든 것을 잃어 버리게됩니다.
StateServer와 SQLServer는 웹 서버의 메모리에 정보가 더 이상 저장되지 않고 AppDomain이 재활용 될 때까지 처리 할 수없는 두 가지 다른 프로세스 외부 세션 저장 모드입니다.
기본적으로 요약하면 ASP.NET 세션 수명주기 및 ASP.NET 폼 인증 쿠키 수명주기를 안정적으로 동기화하는 것은 매우 어렵습니다. ASP.NET 세션을 전혀 사용하지 않음으로써이 문제를 해결합니다.
- 1. iPhone에 세션 데이터 저장
- 2. 테이블에 세션 데이터 저장
- 3. 세션 데이터 저장
- 4. System.Web.Services.WebService의 WebMethod에서 세션 데이터 유지
- 5. Kohana 세션 생성 유지
- 6. MVC 4 : 정적 데이터 유지 세션
- 7. iOS의 인증 및 세션 관리
- 8. HttpConnection 유지 세션
- 9. (세션) 인증
- 10. Facebook 세션 유지
- 11. 로그인 세션 유지
- 12. Silverlight에서 세션 유지 보수
- 13. Zend - 데이터베이스에 세션 데이터 저장
- 14. AuthenticationToken 및 인증자를 통해 http 세션 유지
- 15. 젠드 세션 및 젠드 인증
- 16. PHP API 인증 및 세션
- 17. 웹 사이트의 비즈니스 계층이 세션 상태에 액세스해야합니까?
- 18. 도메인을 통한 세션 동기화
- 19. 연결이 끊긴 세션 데이터 집합 유지
- 20. PHP에서 세션 변수를 유지
- 21. 웹 세션 유지
- 22. 세션 유지 C#
- 23. ASP.NET 세션 유지
- 24. 레일에 memcache 세션 유지
- 25. WCF 세션 유지 보수
- 26. Twitter OAuth 세션 유지
- 27. PHP 세션 보안 유지
- 28. GWT 및 세션 키 저장
- 29. 레일 (ActiveRecord 세션 및 안정 인증) : 세션 테이블에 언제 기록됩니까?
- 30. codeigniter의 세션 테이블에 저장
항상 확인하는 경우에만 가능합니다. 예를 들어 세션 데이터를 읽을 때마다 (SessionData가 && UserIsLogedOn인지) 확인합니다. – Aristos
감사합니다. 보안하려는 데이터는 사용자 비밀번호 (기존 웹 서비스이므로 선택권이 없습니다)이며 세션 인증이 양식 인증 티켓에 안전하다고 생각했습니다. 당신은 더 나은 곳을 생각할 수 없다. 그래서 나는이 문제들을 동기화 할 수 없다. –
세션 상태가 안전하지 않습니다! 세션 상태의 쿠키가 도난 당하여 세션을 얻을 수 있습니다. – Aristos