Javascript 组织团体/特权的框架/理论
我正在编写一个web应用程序,用户可以在其中创建组并将其他用户添加到中。多个用户可以在多个组中。在一个小组中,你会获得某些特权或控制权,例如,能够看到内容。所有这些都类似于Facebook的群组功能 我知道所有这些都可以通过数据库中的两个表来完成,跟踪谁在哪个组中,并相应地授予特权,等等Javascript 组织团体/特权的框架/理论,javascript,database,privileges,Javascript,Database,Privileges,我正在编写一个web应用程序,用户可以在其中创建组并将其他用户添加到中。多个用户可以在多个组中。在一个小组中,你会获得某些特权或控制权,例如,能够看到内容。所有这些都类似于Facebook的群组功能 我知道所有这些都可以通过数据库中的两个表来完成,跟踪谁在哪个组中,并相应地授予特权,等等 我想知道是否有任何框架、理论或文章可以告诉我们正确和最有效的方法您想要的是所谓的ACL(访问控制列表)。有许多方法可以实现这一点(例如,查看UNIX/linux世界中的三步伪ACL,或Windows目录相关环境
我想知道是否有任何框架、理论或文章可以告诉我们正确和最有效的方法您想要的是所谓的ACL(访问控制列表)。有许多方法可以实现这一点(例如,查看UNIX/linux世界中的三步伪ACL,或Windows目录相关环境中的可继承多级ACL) 我使用非常简单的方法,我将在这里分享: 每个“对象”(文章、照片、任何其他资源)都有一些预定义的“操作”,可以对其进行操作(如“显示”、“投票”、“评论”等)。通过每个对象和操作,我以以下方式定义ACL:
objectB.ActionX: all
objectC.ActionX: all !userA
objectD.Action1: group1 group2 userA !userB !group3
ACL只是从左向右读取。每个“all”“group”“user”表示允许对特定对象执行特定操作,而“!all”“!group”“!user”表示不允许
这种方法很容易实现,并且提供了几乎无限的可能性:)
希望这能帮助您:)投票迁移到Exchange。好问题,但答案是主观的。谢谢。它回答了我的部分问题。如何在组中组织用户?在我的示例中,每个组可能包含一些用户,一些其他组,甚至groupA可能被定义为“groupB!groupC userA”-因此,这允许真正高级的用户权限处理,对于任何软件来说,“计算”权限都是微不足道的。