10
어떤 이유로 세션 변수가 내 앱에서 설정되지 않습니다. Sinatra 1.2.1을 사용하고 있습니다. 각 요청 후Sinatra 및 세션 변수가 설정되지 않음
module GitWiki
class App < Sinatra::Base
configure do
enable :sessions
set :app_file, __FILE__
set :root, File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
set :auth do |bool|
condition do
redirect '/login' unless logged_in?
end
end
end
helpers do
def logged_in?
not @user.nil?
end
end
error PageNotFound do
page = request.env["sinatra.error"].name
redirect "/#{page}/edit"
end
before do
content_type "text/html", :charset => "utf-8"
@user = session[:user]
end
get "/login/?" do
erb :login
end
post "/login" do
user = User.get
if user.authenticate(params[:username], params[:password])
session[:user] = params[:username]
p session # => {:user=>"root"}
else
# AZIZ! LIGHT!
end
redirect '/'
end
get "/" do
p session # => {}
redirect "/" + GitWiki.homepage
end
# ...
end
end
당신이 볼 수 있듯이, session[:user]
가 설정되지 않는, 또는 오히려 세션 해시되고있는 리셋 : 여기
를 사용하는 경우이 수정 프로그램이 작동하지 않습니다 "그러나이 비밀이 응용 프로그램의 모든 시작에 따라 변화하기 때문에, 당신은을 설정할 수 있습니다 비밀 ... " – imwilsonxu
훨씬 더, 당신에게 아지즈 고맙습니다. – pje
"NOTE"가 마음에 들지만,'Rack :: Session :: Pool'을 누가이 문제를 해결할 수 있는지 알고 싶습니까? –