我在我的应用程序中使用 authlogic。我也对 A/B 测试进行了拆分。我想拆分使用 authlogic 进行身份验证,而不是 BasicAuthentication 或不进行身份验证。
因此,我将身份验证类设置为拆分 sinatra 应用程序的中间件:
Split::Dashboard.use SinatraAuthlogic
那么这应该是我的 authlogic 中间件:
class SinatraAuthlogic
def initialize(app)
@app = app
end
def call(env)
if is_user_logged_in?
puts @app.class
response = @app.call env
else
response = Rack::Response.new
response.redirect '/login'
response.finish
end
end
private
def is_user_logged_in?
logged_in = UserSession.find && UserSession.find.user
end
end
问题是我应该在 is_user_logged_in 中放入什么才能使用 authlogic?