2011-04-25 50 views
5

我想實現一個積極開發並帶有合理默認值的第三方Ruby on Rails身份驗證系統。哪個Rails認證系統更好:AuthLogic,Clearance還是Devise?

我已經將我的選擇縮小到AuthLogic和Clearance(thinkbot) - 任何人都可以在任何方向上搖擺我?根據要求,從我所知道的兩方面來看,這兩者都適用於我的項目。它看起來像兩個文檔/代碼樣本非常相似,並且都相對容易設置。

任何人都有偏好?我真的很喜歡AuthLogic的OpenID插件 - 不知道Clearance是否可以做到這一點。

+4

頭部設計。 – apneadiving 2011-04-25 22:41:05

+0

考慮修改您的標題,因爲它表明您的問題比實際範圍要廣(導致它被標記爲主觀),而實際上您只是要求在兩個選項之間進行比較。 – 2011-04-25 23:08:27

+0

已更新。謝謝。 – 2011-04-25 23:16:59

回答

7
+0

我會看看,我正在閱讀他們的文檔,並喜歡它到目前爲止!謝謝:) – 2011-04-25 22:56:53

+0

設計是一個混亂,與邏輯分佈在模型和控制器。 – Doug 2016-10-09 15:49:01

2

你已經排除設計出於某種原因?

如果不是,這是Rails最新,最完​​整的身份驗證框架。至於openID身份驗證,請看OmniAuth,它與devise無縫集成。

+0

謝謝,我正在看它!似乎它會做我需要的一切,然後一些。 – 2011-04-25 23:15:41

3

我已經使用了restful_authentication寶石,authLogicDevise,我喜歡COS它是基於模型設計」(越往上堆是更好,更容易rspec的),也可以讓你只是把管理員國旗在用戶表管理員和去(或使用角色更復雜的東西)。

另一個已變得普遍的寶石設計是cancan for roles,例如,管理員,讀者,經理等(不管你想要什麼),語法如下(從cancan gem)。

<% if can? :update, @article %> 
    <%= link_to "Edit", edit_article_path(@article) %> 
<% end %> 
+0

很酷,不知道。謝謝 :) – 2011-04-26 03:54:58

2

關於授權的問題往往制定得不好,因爲我們都對不同方面感興趣。在我的情況下,我們有一個非常成熟的應用程序(Wagn,參見http://wagn.org),並且它已經有一個本身已經構建的認證功能。我們正在做的是使應用程序獨立於身份驗證系統,所以我最感興趣的是兩個維度:

1)提供程序接口的API是什麼,它是多麼容易添加到我的應用程序。

我剛剛完成了大量工作,通過應用程序使用的一組類或模塊方法以及本地增長的AR類(用戶類和用戶表)的模型進行了大量工作。這導致下一部分:

2)哪些授權提供者可用,以及我需要做些什麼才能將它們加載到我的應用程序中(通常我希望這些授權提供程序位於一個或多個Rack中間件中)。

我不需要Devise,它確實太多了,我想要一個到外部認證提供者的接口。我的應用程序可能會提供將參數發佈到auth服務的表單,但它不會使用它們的Rails視圖或控制器。

我懷疑這種情況對於某一類開發人員來說很常見。