アプリケーションで authlogic を使用しています。また、A/B テストのために分割しています。BasicAuthentication または認証なしの代わりに、認証に authlogic を使用する分割が必要です。
そこで、分割シナトラ アプリのミドルウェアとして認証クラスを設定しました。
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
問題は、authlogic を使用するために is_user_logged_in に何を入力する必要があるかということです。