2011-11-25 33 views
1

我使用devise進行Rails 3.1驗證。用戶將由管理員在我的網站上註冊(這是一個學校內部的網站,不知名的人不應該註冊)。每個用戶在註冊時都被分配了一個角色(例如,student,teacher,admin,resource_person),這個角色是用於授權活動。如何添加受保護的註冊字段與設計?

現在我不希望用戶能夠編輯他們的角色,因此它不會被放置在attr_accessible下。因此,在註冊用戶時,我必須從參數中手動設置角色。有沒有簡單的方法來做到這一點,或者我必須創建一個從設計註冊控制器繼承的自定義控制器?

回答

1

假設您只是希望能夠以管理員身份管理用戶,我認爲最好的方法是簡單地爲您的用戶模型創建一個CRUD界面(https://github.com/plataformatec/devise/wiki/How -to: - 管理用戶通-A-CRUD接口)。

如果您希望用戶能夠管理他們的某些模型(例如更改密碼),只需根據其角色對其進行授權即可。

+0

啊,這很有道理,我沒有這麼想。謝謝! –

+0

沒問題。 Devise的功能非常強大,我們有時會忘記它,只是使用我們可以自行管理的簡單模型:D –