0

我很新的軌道,我試圖建立一個授權系統,允許我控制模型的哪些屬性可以由用戶修改。聲明式授權:限制對特定屬性的模型操作

我用declarative_authorization了基於角色的授權。這已經爲我提供了很多功能:限制用戶在視圖中可以看到的內容,具體取決於他的角色,他可以在控制器中執行哪些操作,基本上還允許他在模型上執行哪些操作。

但是,我無法找到如何限制上取決於角色模型的特定屬性的行動的答案。

示例: 具有guest訪問角色的用戶被允許更新用戶帳戶的某些屬性:當他嘗試使用錯誤的密碼登錄時,我想更新用戶帳戶的特定字段這會使此帳戶處於非活動狀態。但guest角色應永遠不能更改此用戶帳戶的暱稱。

因此,我在我的用戶模型中使用了「using_access_control」方法,但是根據角色的不同,這可能會爲所有屬性提供「更新」權限,或者根本沒有「更新」權限。

據我所知,「strong_parameters」是一個基本上可以提供這種功能的gem,但我不知道如何將「declarative_authorization」和「strong_parameters」放在一起,或者如何簡單地用「declarative_authorization」來完成。

有人可以指點我的解決方案嗎?

非常感謝!

回答

-1
Authorization::Maintenance::without_access_control do 
    # do something 
end 

我希望這有幫助。