2012-12-12 90 views
0

我是新來的rails,我想製作一個培訓計劃應用程序。我需要一個用戶管理系統,並且確定存在一個寶石,但我似乎無法找到具有所有這些所需功能的系統。用於自定義驗證的Rails gem

  • 多訪問級別(用戶,教練,經理,管理員)
  • 沒有用戶註冊(教練,經理,管理員將創建帳戶和信息將通過電子郵件發送給用戶)
  • 用戶組(用戶,培訓師,經理)屬於團體,只能管理這些團體中的用戶。管理員可以管理任何組中的任何人。
  • 用戶可以更改其帳戶的詳細信息並更改其密碼。
  • 管理員可以確定用戶將如何登錄(自定義字段,用戶名,電子郵件)
  • 可以使用MySQL數據庫

是否有電流寶石,所有這些功能都在那裏或將一個自定義的需要被創建?

回答

1

你在這裏結合兩個概念,用戶認證基於角色的訪問控制。考慮使用devise進行身份驗證,因爲它可以很好地配置(例如,您可以禁用sign_up路由並僅允許sign_in),而對於rbac,則可以使用cancan

另外,你真的需要允許管理員確定用戶如何登錄?首先考慮一種方法,稍後如果它是真正的優先級,則添加此功能。

+0

我寧願允許通過自定義字段(如6位數字的ID號碼)登錄。我認爲角色和登錄將會在一起。不過,它們似乎有意義,它們會是不同的插件。這些插件是否支持MySQL? – Bot

+0

您可以根據任何字段進行身份驗證,但您可能必須編寫自定義控制器來處理該問題(不用擔心,雖然這是由設計寶石支持的,並且它甚至會爲您搭建控制器)。只要ActiveRecord支持數據庫(是的,mysql就是其中之一),那麼它就可以處理任何值得重視的rails gem。幾個寶石也支持nosql商店。 –

+0

允許具有培訓師和經理的用戶組只能管理這些組中的人員,而管理員可以管理任何人嗎? – Bot