2012-08-14 158 views
0

我試圖用devise構建一個應用程序,並且會有多個角色。關於設計的基本信息

這樣的用戶/管理員。如果我正確理解了設計方式的文檔,並且爲管理員構建了一個名爲user的新模型/控制器,併爲admin創建了一個新模型/控制器。我有自己的非常簡單但是這裏的問題

route.rb我有以下

devise_for :admins 
    devise_for :customers 
    resources :events 
    root :to => 'events#index' 

在控制器然而,我把這個

before_filter :authenticate_customer! 

我也嘗試了遵循

before_filter :authenticate_customer! || :authenticate_admin! 

但是,如果我登錄有管理員,兩種技術仍然會將我重定向到登錄頁面。我應該怎麼做才能說話,除非我創建兩個不同的網站,然後變得毫無用處。

這裏還有一些問題。當我進入編輯時,問我current_password,我如何刪除此功能?

是否有對我來說也停止會員或登記(又名管理員)的高級

感謝的一種方式。

回答

1

我正在製作一個應用程序,現在也有多個角色(管理員,學生,老師等)。你需要認識到設計是一個認證解決方案,它認證用戶是真實的。對於基於角色的權限,您需要一個授權解決方案,該解決方案授權用戶執行一些操作。 Devise支持管理員角色,但除此之外,您需要授權解決方案。

Cancan是我爲此建議的寶石。當我爲我的應用程序設置時,我使用this tutorial。還有一個part 2 to the tutorial,你可能會覺得有趣。設置它也不難(我自8個月前就開始學習Rails)。