誰もSinatraとDevise gemをインストールしましたか?SinatraとDevise
DeviseはWardenに基づいているため、Sinatraで動作するはずです。実装方法に関する関連情報は見つかりませんでした。
誰もSinatraとDevise gemをインストールしましたか?SinatraとDevise
DeviseはWardenに基づいているため、Sinatraで動作するはずです。実装方法に関する関連情報は見つかりませんでした。
工夫は本当に基本的なラックの認証フレームワークであるwardenのための素敵なヘルパーとちょうどRailsの中心のラッパーであり、 。したがって、Railsと組み合わせてSinatraを使用している場合は、RailsアプリでDeviseを使用し、Sinatraアプリで監視員を直接使用すると、同じユーザーセッションデータが表示されます。
Sinatraアプリ内でDeviseを直接使用することはできませんが、RailsやSinatraの他の部分でモジュラーアプリを構築する場合は、Devise/Wardenをコンポーネントとして使用できます。
DeviseはRails専用です。 Sinatraでは使用できません。
あなたがチェックアウトすることができます:
https://github.com/maxjustus/sinatra-authentication
http://www.gittr.com/index.php/archive/sinatra-basic-authentication-selectively-applied/
2番目のリンクはもう機能していません。 – zhon
私はそれを働かせることができました。いくつかの主要な側面がありました:Railsので作業
が利用できるよう/config.ruからのコードの最も関連する部分は次のとおりです。
#
# ...
# Rest with Rails
map "/" do
run MyApp::Application
end
# Anything urls starting with /slim will go to Sinatra
map "/slim" do
# make sure :key and :secret be in-sync with initializers/secret_store.rb initializers/secret_token.rb
use Rack::Session::Cookie, :key => '<< see, initializers/secret_store.rb >>', :secret => '<< copy from initializers/secret_token.rb >>'
# Point Warden to the Sinatra App
use Warden::Manager do |manager|
manager.failure_app = AppMain
manager.default_scope = Devise.default_scope
end
# Borrowed from https://gist.github.com/217362
Warden::Manager.before_failure do |env, opts|
env['REQUEST_METHOD'] = "POST"
end
run AppMain
end
詳細については、http://labnote.beedesk.com/sinatra-warden-rails-deviseを参照してください。
かなりレール中心です:https://github.com/plataformatec/devise/blob/master/app/controllers/devise/confirmations_controller.rb – scragz