2

devise_parameter_sanitizer 기반의 솔루션을 사용하여 사용자 정의 속성을 Devise (사용자) 모델로 설정하고 sign_up 및 편집 양식에서 사용할 수 있도록했습니다.Devise 3.0.0rc Rails 4의 사용자 정의 속성 및 강력한 매개 변수

모든 것이 잘 작동하지만 때때로 로그인하거나 로그 아웃하거나 사용자를 편집하면 (즉, 문제가 세션과 관련 있다고 생각할 때) 특별히 다음과 같은 오류가 발생합니다.

Devise Parameter Sanitizer

이 문제를 해결하기 위해 위의 코드에 추가 할 수있는 논리가 있습니까?

+0

그래서 앱에 '사용자 : ParameterSanitizer' 클래스를 추가 했습니까? –

답변

4

나는 조금 전에이 사실을 알고 있었지만 실제로는 답을하기를 원했다. 왜냐하면 이것은 실제로 나를 풀기 위해 약간의 시간이 걸렸고 다른 사람들은 비슷한 문제가있을 수 있기 때문이다.

사용자 : ParameterSanitizer를로드 할 때 이니셜 라이저를 사용했기 때문에 응용 프로그램 컨트롤러 또는 디버그 모드로 인해 다시로드하게하는 원인을 변경하면 초기화가 손실됩니다.

이것은 당신에게 어떤 일이 일어 났는지 확인하기 위해 쉽게 테스트 할 수 있습니다. 처음 : 서버를 새로 시작하고 로그인 페이지로 이동하십시오. 작동해야합니다. 다음 : (단지 저장 어딘가에 공간을 넣어 공격) application_controller.rb을 수정 다음 : 다시 로그인 페이지를 방문 (더 이상 작동하지) :(

+1

예, 맞습니다. 이것은 디버그 모드에서 발생하거나 생산에 대해 걱정해야합니까? – jdscosta91

+0

프로덕션 환경에서 코드를 즉시 다시로드하지 않기 때문에 디버그에서만 발생합니다. – Aeramor