Php 一种更简单的基于角色的访问控制(RBAC)方法?

Php 一种更简单的基于角色的访问控制(RBAC)方法?,php,rbac,Php,Rbac,我很难掌握基于角色的访问控制(RBAC)背后的代码。我试图将“捆绑包”与Laravel框架结合使用,但这似乎只会使事情更加复杂 我的具体应用程序需要三个角色。第一个也是最基本的角色就是允许用户登录到我的应用程序,管理他们的帐户,并保存“收藏夹”和“交易”。我需要的第二个角色是允许店主能够登录并创建帐户和交易。第三个角色基本上是一个管理员角色,所以如果需要,我可以进入并删除不需要的内容 仅仅向用户表中添加一个名为“role”的int字段,会不会出现任何预期的问题?如果用户的角色为0,则他们具有基本

我很难掌握基于角色的访问控制(RBAC)背后的代码。我试图将“捆绑包”与Laravel框架结合使用,但这似乎只会使事情更加复杂

我的具体应用程序需要三个角色。第一个也是最基本的角色就是允许用户登录到我的应用程序,管理他们的帐户,并保存“收藏夹”和“交易”。我需要的第二个角色是允许店主能够登录并创建帐户和交易。第三个角色基本上是一个管理员角色,所以如果需要,我可以进入并删除不需要的内容

仅仅向用户表中添加一个名为“role”的int字段,会不会出现任何预期的问题?如果用户的角色为0,则他们具有基本权限,无法访问站点的管理员和所有者区域;1表示用户具有所有者角色,等等。每次发出请求时,我只需检查用户的角色


这是一个合理、安全的解决方案,还是使用这种方法可能会遇到问题?

使用RBAC可以在管理对应用程序功能的访问时提供更大的灵活性。可以为每个用户分配多个角色、任务和操作;每个角色可以包含多个任务,每个任务可以包含多个操作

如果您的应用程序只需要3个角色,basic、owner和admin,我认为只需在用户表中添加一个指示符就可以了。但是,如果需要授予某些用户对某些操作的访问权限,则需要为每个要区分访问控制的操作指定一个新编号。因此,使用这种方法将很难根据功能划分权限

另一种解决方案是使用ACL,我认为它更容易实现,但可能更难管理。您可以了解ACL和RBAC之间的区别