2016-04-25 85 views
-1

這可能是已經問過的問題的重複,但我還沒有找到適合我的情況的問題。Rails:用戶可以使用不同的權限創建其他用戶

我正在開發一個系統,其中有一個用戶(而不是管理員)正在使用設計註冊自己。我想要的是允許此用戶創建不同的用戶併爲他們提供不同的權限集(因此不能預定義的權限,因此,不能使用cancan據我所知)。爲了澄清更多,這是我已經提出的表結構。如果我在這裏走錯了路,請指導我。

USER:

id, 
name, 
other-details 

准許

id, 
name, (name of the section such as gallery, report or users) 
create, 
edit, 
view, 
user_id (the user whose permissions are defined here) 

這裏,createeditview是用戶將擁有的權限。如果edit爲真,他將能夠編輯該特定的section。如果不清楚,我很抱歉。我發現約翰的回答(最後一個)Database schema for ACL符合我的情況,但我不知道如果它的方式正確。另外,我不知道如何實現那裏提到的SET

Thanx提前。如果需要,請隨時索取更多的細節。我對這種方法的正確性表示無知。

P.S:這裏的Rails新手。

+0

嘿downvoter,你能告訴我這個問題怎麼了? – Aakanksha

回答

0

你應該使用寶石設計,cancancan & rolify。 點擊這裏查看參考文獻https://github.com/RolifyCommunity/rolify/wiki/Devise---CanCanCan---rolify-Tutorial

你應該在ability.rb文件中添加你的所有角色權限

+0

這是我不想要的。你看,據我瞭解,我會需要預定義的角色,但我沒有在我的系統中。除用戶外,沒有哪個用戶肯定有權編輯或創建新用戶。如果我在這裏不清楚,我很抱歉。 – Aakanksha

+0

使用rolify創建角色沒有問題,但如果你想要上面的解決方案,那麼你需要在設計中的用戶模型中添加一個字段「角色」來註冊.https://github.com/plataformatec/devise/wiki/How - 要: - 允許用戶登錄使用他們的用戶名或電子郵件地址 –

+0

我沒有任何問題添加字段到設計中的用戶表。它的有趣的東西,我已經掌握了它。或者我認爲我有。我會在你深深地建議的答案中尋找。同時我也會等待其他建議。 Thanx – Aakanksha

相關問題