Session Shotgun每次都会有新的会话,can';t在会话中存储数据
这是一本书中的一个例子,稍作修改。看来治疗不起作用。每次我有新的课程Session Shotgun每次都会有新的会话,can';t在会话中存储数据,session,sinatra,shotgun,Session,Sinatra,Shotgun,这是一本书中的一个例子,稍作修改。看来治疗不起作用。每次我有新的课程 #reporter.rb require 'sinatra/base' class LoginScreen < Sinatra::Base #configure(:development) { set :session_secret, "something" } enable :sessions get
#reporter.rb
require 'sinatra/base'
class LoginScreen < Sinatra::Base
#configure(:development) { set :session_secret, "something" }
enable :sessions
get('/login') { erb :login }
post('/login') do
if params[:user][:login] == 'admin' && params[:user][:password] == 'admin'
session['user_name'] = params[:user][:login]
redirect '/'
else
session[:notice] = "notice!"
redirect '/login'
end
end
end
class Reporter < Sinatra::Base
# "прослойка" будет запущена перед фильтрами
# enable :sessions
# use Rack::Session::Pool, :expire_after => 2592000
#configure(:development) { set :session_secret, "something" }
use LoginScreen
before do
unless session[:user_name]
halt "Access denied, please <a href='/login'>login</a>."
end
end
get('/') { "Hello #{session['user_name']}." }
end
login.erb
主要用户
欢迎接受记者采访
您必须使用凭据或“新来者”身份登录
登录:
密码:
我正在使用
- ruby 1.9.2
- sinatra 1.3.2
-如何启动服务器shotgun-s thin-p 4567
set :session_secret, "something"
在你的例子中?
如果您使用鸟枪重新加载服务器,它可以帮助您。您为什么要发表评论
set :session_secret, "something"
在你的例子中?
如果您使用鸟枪重新加载服务器,它可以帮助您。谢谢!这有帮助。我不知道为什么,但我第一次添加这句话对我没有帮助,所以我把它注释掉了。但我的代码中似乎有问题,而不是散弹枪中的问题。现在一切都好了。)谢谢这有帮助。我不知道为什么,但我第一次添加这句话对我没有帮助,所以我把它注释掉了。但我的代码中似乎有问题,而不是散弹枪中的问题。现在一切都好了。)
set :session_secret, "something"