2013-02-13 5 views
5

データベースを使用しないRailsアプリケーションを作成しています。代わりに、レガシーシステムをラップするRuby APIを使用してモデルを管理します。データベースなしでRails/Deviseを使用するにはどうすればよいですか?

私はユーザー名とパスワードの組み合わせを検証できるRubyコールを持っています。この場合、Devise(または他の既製の認証ソリューション)を使用することは可能ですか?

私の希望は、Deviseのいくつかのメソッドをオーバーライドでき、それでも多くのメリットが得られることです。

ピーター。

答えて

8

が可能です。

既定の認証を無効にし、DeviseとWardenでリモートサービスを使用できます。

このブログの記事は、あなたがどのように詳細与える:

http://4trabes.com/2012/10/31/remote-authentication-with-devise/

はトラブルは、私はデータベースを持っていないということです

+0

あなたが特定したページには、私が実装したいソリューションの種類が書かれています。しかし、それは多くの詳細については非常に曖昧です。ユーザPOROはどこに存在しますか? 3つのユーザークラスがありますか?そしてDevise :: ModelsとDevise :: Strategiesモジュールはどこに住んでいますか? – spierepf

+1

ガー!私はdevise.add_module:remote_authenticatable、:controller =>:sessions、:route => {:session =>:routes} 'を私のdevise.rbファイルに追加する必要がありました。私はRubyほどのブードゥー語で言語に会ったことは一度もありません。誰でもこの行が何をしているのか説明できますか? – spierepf

0

私が正しく理解していれば、あなたのプロジェクトでDeviseを使用して古いレガシー認証システムをラップすることになります。 legacy_usernameとlegacy_passwordのメソッドを定義したり、Devise gemに採用するための移行を作成したり、あなたの道を見つけることができると思うかもしれません。 たぶん、このリンクはあなたを助けることができます。http://www.davidverhasselt.com/2012/05/13/how-to-migrate-passwords-from-legacy-systems-to-devise/

もが、多分この - 私はそれに役立つことを願っていますhttps://github.com/plataformatec/devise/wiki/How-To:-Create-a-custom-encryptor

- どのよう工夫でカスタム暗号を作成します。

+0

...私たちはそれが行く方法を知っている

幸運をしてみましょう。だからActiveRecord :: Baseは私の語彙にはありません。また、私は暗号化を扱っていません。 – spierepf

関連する問題