簡體   English   中英

Rails:如何將操作限制為僅某些用戶?

[英]Rails: How to restrict actions to only certain users?

我目前正在做一個上傳圖片的項目。 有用戶,相冊和圖片。 我添加了一種友誼模型,以便人們可以像社交網絡一樣彼此交朋友。 但是,我注意到我在視圖中放置了許多<% if current_user.friends.include?(@user) %> ,以檢查我顯示的頁面的用戶是否是已登錄客戶端的朋友,並且因此,允許他們擁有某些特權和形式等。是否有比使用if / else語句污染我的觀點更好的方法或場所? 另外,我也不覺得我的方法很安全,因為有人總是可以手動輸入網址,並弄亂他們不應該輸入的信息。

您需要一個諸如CanCan的授權框架。

在功能文件中,將其配置為僅當用戶是所有者的朋友時,用戶can查看或編輯其他內容。 然后,在視圖或控制器中,您只需檢查用戶是否有權執行適當的操作即可。

有關基於模型的詳細信息設置功能的特定詳細信息(即所有者是否是當前用戶的朋友),請轉到此文檔並查找“條件散列”。

考慮使用諸如鑲嵌式訪問 gem之類的工具,該工具可讓您將控制器白名單/黑名單以及當前登錄用戶的特定操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM