如何按组和权限创建访问控制

How to create access control by group and permission

我想创建具有组和权限的 ACL,其中用户也可以有多个访问权限。我的申请基于 Laravel & Mysql.

群组是: 1. 师 2.面积 3. 网站

权限是: 1. 创建 2.更新 3.查看 4.删除

例如:

角色 ABC :

division   | create | update |  view  |  delete
division_a |   x    |   x    |   x    |    x
division_b |        |        |   x    |

area       | create | update |  view  |  delete
area_a     |        |        |   x    |    
area_b     |   x    |    x   |   x    |

site       | create | update |  view  |  delete
site_a     |        |        |   x    |    
site_b     |        |        |   x    |

这是我创建的架构:

id|division_name

面积

id|area_name|division_id

网站

id|site_name|division_id|area_id

用户Table

 id|name|email

角色Table

id|role_name|division_role|area_role|site_role

用户角色Table

id|user_id|role_id

请通过讨论架构设计的最佳实践来帮助我,或者是否有任何 laravel 包可用于创建此 ACL?

谢谢

Rathner 然后重新发明轮子 我建议您尝试 spatie/laravel-permission or Bouncer 包。这是非常有益的。