Thread.current
해시 (예 : current_user, 현재 하위 도메인 등)에 정보를 저장하는 관행에 대해 상충되는 의견을 계속 받고 있습니다. 이 기술은 모델 계층 (쿼리 범위 지정, 감사 등) 내에서 이후의 처리를 단순화하는 방법으로 제안되었습니다.
- Rails에서 스레드 변수가 간헐적으로 발생하는 이유는 무엇입니까?
- Rails 용 API 래퍼에서 Thread.current를 사용하는 대안
- Thread.current [] 값과 클래스 레벨 속성은 레일에서 사용하기에 안전합니까?
많은 사람들은 MVC 패턴을 깨뜨리기 때문에 이러한 관행을 받아 들일 수 없다고 생각합니다. 다른 사람들은 접근 방식의 신뢰성 / 안전성에 대해 우려를 표명하고 2 부로 구성된 질문은 후자 측면에 중점을 둡니다.
는 IS
Thread.current
해시는 전체주기 동안, 오직 하나의 응답 가능하고 개인이 보장?응답이 끝날 때 스레드가 다른 수신 요청으로 전달되어에 저장된 정보가 유출 될 수 있음을 이해합니다
Thread.current
. 대응이 끝나기 전에 그러한 정보를 지우는 것만으로도 (예 :Thread.current[:user] = nil
컨트롤러에서 실행 하여after_filter
) 보안 위반을 방지 할 수 있습니까?
감사! 주세페