레일즈를 회사의 SSO 시스템과 통합하려고합니다. SiteMinder Apache 모듈이 설치되어 있고 내 서버에서 활성화되어 있습니다.레일 세션과 SiteMinder/SSO
레일즈 애플리케이션은 before_filter에서 요청 객체를 검사하여 사용자가 이미 SSO로 인증 받았는지 여부를 결정합니다. 필요한 변수를 찾으면 내 응용 프로그램은 SSO에서 반환 된 사용자 ID를 자체 사용자 계정과 일치시키고 해당 사용자를 인증합니다 (ActiveRecord 세션 저장소로 편안한 인증).
내 문제는 이것이다 : 나는 다시 이동 (성공적으로 주위 클릭의 가치가 몇 페이지 후,이 방법을 사용하여 로그인 한 후 갑자기 는 내 레일 세션을 잃고 결과 오전으로 내 응용 프로그램에 의해 재 인증 홈페이지).
이
은 CSRF 보호의 결과가 아니다, 그것은 같은 :- 내 응용 프로그램의 테스트 및 생산 환경 모두에서 발생합니다 (그리고 기본적으로 테스트 환경에서 꺼져), 및
- 요청 유형에 관계없이 임의로 발생합니다. AJAX, GET 및 POST 요청으로 인해 이러한 동작이 발생했습니다. 내가 자동으로 SSO ID를 기반으로 사용자를 기록, 그냥 (SSO와 함께 인증 후) 내 응용 프로그램에 기존의 로그인 페이지를 공격 코드를 해제 하더라도
, 내가주의 그 모든 너무 자주 내 브라우저 쿠키의 새 세션 ID 값이 나타납니다.
따라서 Apache SSO 모듈을 켜면 세션이 재설정됩니다. 그렇지 않으면 모든 것이 훌륭하고 멋쟁이입니다. 뭐라 구요?
에 등, GET, DELETE, PUT. 쿠키의 내용이 ** 변경되었으므로이 시점에서 Rails가 쿠키 재설정을 결정하는 이유가 궁금합니다. 다른 원래 IP? SSO 모듈이 내 Rails 세션 쿠키의 _contents_을 변조하고 있다고 생각하지 않지만 요청이 "변조 된 것으로 보입니다". 제안 해 주셔서 감사합니다. 나는이 질문을 SiteMinder 사람들에게 던졌고, 주사위도 없었습니다. –