JRuby에서 JRuby와 함께 레일 4 앱을 만들고 세션에 이상한 문제가 발생했습니다. 레일 보안 지침에 따라 사용자가 성공적으로 로그인 할 때 세션을 재설정하려고한다는 것을 제외하고 잘 작동하는 인증을 처리하기 위해 devise gem을 사용하고 있습니다.reset_session 아무 것도하지 않겠습니다.
이 방법은 확실히 그러나 두 출력이 모두 동일, 큰되는 호출되고이
Warden::Manager.after_set_user :event => [:set_user, :authentication] do |record, warden, options|
if options[:scope] && warden.authenticated?(options[:scope])
request = warden.request
Rails.logger.debug "session - #{request.session}"
# backup = request.session.to_hash
# backup.delete(:session_id)
request.reset_session
# request.session.update(backup)
Rails.logger.debug "session - #{request.session}"
end
end
처럼 보이는 세션이 전혀 재설정되지 않는 한, 저를 위해이 문제를 처리합니다. 나는
# session_store.rb
RtsBackend::Application.config.session_store :torquebox_store, {
key: '_RtsBackend_session'
}
# config.ru
use TorqueBox::Session::ServletStore
처럼 TorqueBox 세션 저장소 설정을 사용하고 그리고 그것은 TorqueBox 데이터를 삽입 것처럼 작동하는 것, 그리고 유증에서 세션 데이터가 작동하지만, 난 그냥 그것을 취소 할 수없는 것.
나는 로그인 할 때이 작업을 자동으로 수행한다는 인상을 받았다. 그렇다면 동일한 문제가 발생하고 레일스가이를 지우지 않는 것입니다.
제안 사항?