2011-03-04 133 views
0

我使用devise進行身份驗證,我在尋找一個授權框架,該框架允許我聲明特定模型屬性的編輯權限。Rails 3中的屬性級別授權

我在我的應用程序中有三個不同的角色:教師,家長和學生。學生模特屬於家庭。當教師創建一個學生時,他們可以設置家庭聯繫。但是,當家長訪問學生的編輯頁面時,他們不應該能夠更改該關聯,只能查看該關聯。

在視圖中,很容易根據誰在查看它(例如禁用或不禁用家族選擇輸入)來更改表單,但製作好的表單可以解決這個問題。我需要的是當有人試圖更改不允許更改的屬性時,會拋出某種授權異常。

我目前正在查看declarative_authorization,但它似乎沒有足夠的細粒度來限制對屬性的更改,僅限於整個模型。

回答

0

我已經結束了使用新的MassAssignmentSecurity功能,雖然看起來它可能不適合與accep_nested_attributes_for結合使用。

0

我意識到我的答案遲了2年。對於你需要的是一個足夠精細的授權框架。

XACML是OASIS提供的標準。它可以處理任何數量的屬性。

看到我在這裏的詳細答案:Rails 4 authorization gem