2014-02-20 71 views
0

我想爲我的Rails 4應用程序規劃身份驗證和授權系統。Rails 4身份驗證結構規劃

這裏是我計劃的結構:

Authentication plan for rails application

(*對不起,我不能插入圖像,因爲我牛逼的聲譽)

我需要三個不同的授權級別(或模型,我不確定)爲;學生,編輯和管理員。

其中每個將與不同的模型相關聯。例如,學生將與個人資料(學生has_one個人資料)相關聯,但管理員將與「個人資料」和「administrative_profile」都關聯。

我還需要一個靈活的解決方案來定義管理員詳細和層級管理角色。我的意思是,所有的管理者將不會擁有相同的權利,有些將負責一個機構,一些負責一個城市等等。這種結構的層次結構是;

CityAdmin > InstitutionAdmin > DepartmentAdmin

我不知道如何建立這種結構。 構建這種認證結構的最佳方法是什麼?現在,我有「設計」寶石安裝,並已有一個「用戶」模型。我的下一步應該是什麼?

回答

0

如何遵循RBAC pattern(基於角色的訪問控制)?這種模式將用戶與他們在系統中扮演的角色分離開來。權限附加到角色,並根據需要授權用戶。

這不是一個最終的解決方案,但它似乎足夠靈活,滿足您所描述的要求。

一些寶石可以幫助,如CanCan或更多的現代替代品,另外/取代設計。

請注意認證和授權是有區別的。

0

退房康康舞/ rolify

Cancan

Rolify

另一個偉大的資源將看到這些在工作啓動應用程序。去結賬Rails Composer網站,並用Rails 3.2創建一個新的應用程序。 3.2可以使用一些偉大的預構建初學者應用種子作爲參考。

或者,你可以按照以下步驟操作:

rails new myapp -m https://raw.github.com/RailsApps/rails-composer/master/composer.rb 

在創建這個應用程序,如果你使用的Rails 3.2,你會看到這些選項:

question Install an example application for Rails 3.2? 
     1) I want to build my own application 
     2) membership/subscription/saas 
     3) rails-prelaunch-signup 
     4) rails3-bootstrap-devise-cancan 
     5) rails3-devise-rspec-cucumber 
     6) rails3-mongoid-devise 
     7) rails3-mongoid-omniauth 
     8) rails3-subdomains 

你可以選擇#4你將有一個預製的啓動應用程序與設計/康康/ rolify所有設置,所以你可以看看一個工作的例子。