2010-11-19 53 views
0

我想在我的Ruby on Rails應用程序中實現基於級別的訪問控制。 像那樣,較低級別的用戶將無法訪問其父級的數據。 實施例基於級別的訪問控制在軌道上的紅寶石

 
    Main Admin 
    | 
    |___ Sub Admin1 
    |  | 
    |  | 
    |  |___ SA1_USER1 
    |  | 
    |  |___ SA1_USER2 
    | 
    | 
    | 
    |___ Sub Admin2 
     | 
     |___ SA2_USER1 
     |  |  
     |  |__End_user1 
     |  |__End_user2 
     | 
     |___ SA2_USER2 

在上述結構說的每個用戶可以建立一個記錄。但是記錄將根據層次結構進行查看。 Like Main Admin將能夠訪問所有記錄,Sub Admin1可以訪問自己創建的記錄,SA1_user1和sa1_user2等等。

有沒有什麼好的插件來在rails上實現這個ruby?

謝謝, PraWin。

回答

1

我不知道一個插件,但它不會很難寫出自己。您只需在每個創建的記錄上擁有owner_id,您希望人們訪問該記錄,並且每個用戶都有一個父用戶,那麼您會爲user.is_ancestor_of寫出一個模型方法? record.owner隨時檢查用戶是否嘗試訪問記錄。

+0

是的,我有這個在我心中。是否有任何方法可以返回節點的所有祖先,也可以返回節點的所有子節點。 – Pravin 2010-11-19 07:17:27

+0

沒有像我知道的那樣存在,你可能不得不從頭開始寫它。希望別人會有更多的信息。 – re5et 2010-11-19 07:42:23

+0

有一個不錯的插件*祖先*,我用它來實現這一點。 – Pravin 2011-01-15 07:34:41