ACL模块:4张表+用户记录表

ACL模块:4张表+用户记录表

我设计的一个acl模块有4张表,其中一张关联了一张记录用户的表。

//资源表

acl_资源

//字符表

acl_角色

//权限表

acl_权重

//角色对于某个资源有什么样的权限表?

acl_控制

//用户信息表

用户

资源表主要存储模块,如bbs:第1节、第2节……设计包含用户,角色,权限和用户组数据库表结构3D角色,记录这个资源有多少权限。

角色表:存储各种角色:管理员、超级版主、版主、注册用户、访客……

权限表:发帖、回复、删除、修改、移动……

控制表:记录角色x对资源x有x个权限。

用户表:记录用户信息及其所属的角色ID。

尖端。 记录权限信息时,可以使用类似于Linux权限的方法。

例如,发布权限值=1、删除权限值=2、修改权限值=4、移动权限值=8。

如果资源a有删除帖子和移动帖子的权限,记为:1+8=9。 我想反向找出9代表的哪些权限可以用5%权限值=权限值的方法。 即9&1==1有发帖权限,9&2!=2无删除帖子权限设计包含用户,角色,权限和用户组数据库表结构,9&4!=4无修改权限,9&8==8有移动帖子权限。

这样就无需记录字符串 1,8。 存储方便,计算效率高。 但缺点是不能超过你cpu的位数。

在 32 位计算机上音乐,最多有 32 个值,在 64 位计算机上,最多有 64 个值。 但一般来说这已经足够了。

文章来源:https://bbs.csdn.net/topics/390239400