2013-02-13 91 views
5

我正在創建一個不使用數據庫的Rails應用程序。相反,該模型使用包裝遺留系統的Ruby API進行管理。如何在不使用數據庫的情況下使用Rails/Devise?

我有一個Ruby調用,將允許我驗證用戶名/密碼組合。在這種情況下是否可以使用Devise(或其他一些現成的認證解決方案)?

我的希望是我可以重寫Devise中的幾個方法,但仍然可以獲得許多好處。

Peter。

回答

8

這是可能的。

您可以覆蓋缺省認證並使用Devise和Warden使用遠程服務。

本博客文章爲您提供了詳細介紹如何:

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

讓我們知道如何去...

好運

+0

您確定的頁面描述了我想要實施的解決方案種類。然而,在很多細節上都很模糊。例如,用戶PORO在哪裏生活。有三個用戶類或只有一個? Devise :: Models和Devise :: Strategies模塊在哪裏生活? – spierepf 2013-02-14 16:23:50

+1

Gah!我需要將devise.add_module:remote_authenticatable,:controller =>:sessions,:route => {:session =>:routes}添加到我的devise.rb文件中。我從來沒有遇到過像Ruby那樣巫術的語言。任何人都可以解釋這條線是什麼嗎? – spierepf 2013-02-14 17:35:14

0

如果我理解正確,您希望在項目中使用Devise來包裝舊的舊認證系統。 你可能需要類似的東西來定義legacy_username和legacy_password方法,創建一個適用於設計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 2013-02-14 16:27:43

相關問題