设计像facebook这样的隐私系统的设计模式是什么?
用户根据他的朋友组决定要分享哪些信息。所有用户信息(电子邮件,电话)都存储在数据表中,只有key = value table。
当前表:
示例:
可以更改此架构。
答案 0 :(得分:2)
您必须为FriendGroup制作权限表。 因为你必须收集给每个FriendGroup的权限,同时让组或用户可以更改该权限。
Prmissions(permission_id,friend_group,参数,可见)
示例:
(1,x,phone_1,true) (1,Y,phone_2,true) (1,x,phone_3,true) (1,Y,phone_3,true)
您可以在以下链接中更多地了解ACL:
Database model with users, roles and rights
答案 1 :(得分:2)
我创建了一个名为Privacy的gem,可以帮助将简单的隐私设置集成到Rails应用程序中。看看:https://github.com/xuanchien/privacy_setting
答案 2 :(得分:0)
您需要基于角色的权限管理系统。请查看CanCan或DeclarativeAuthorization宝石。
答案 3 :(得分:0)
您可以为所有字段添加列名权限,例如
phone_number和phone_number_permission,photo和photo_permission以及在权限列中使用值0,1,2,3
permission rights
0. Not show to anyone
1. Show to friends
2. Show friends of friends
3. Show to groups and who are your friends
您必须对个人资料页面上的观看数据管理此权限。
如果用户==朋友和权限== 1显示数据