gpt4 book ai didi

php - Laravel - 多公司范围

转载 作者:行者123 更新时间:2023-12-02 03:40:32 25 4
gpt4 key购买 nike

我对 Laravel 还很陌生,但现在已经掌握了大部分基础知识。

目前,我构建了一个应用程序,其中多个公司各自获得一个代表其主要用户的帐户,我们称他为 CompanyAdmin。该用户可以为该公司创建新用户,并且能够查看该公司的所有报价。

新创建的用户(称为 CompanyEmployee)无法创建新用户,只能查看他们自己创建的报价以及创建新报价。

现在当然有一个 super 管理员,他坐在 table 的另一边。他查看所有公司的所有报价,能够根据自己的喜好创建用户,并且可以接受/编辑报价。

我目前的方法是将 user_id 附加到所有报价并将用户附加到公司,并赋予他们一个角色。所有逻辑都将在 Controller 中进行,我将在 Controller 中检查用户的角色,因此仅读取/保存用户可以编辑的引号。

但是这样做感觉很脏,而且听起来维护起来很费力。如果你愿意,例如为 super 管理员的员工设置另一个角色,您将需要更改每个 Controller 。

我找不到一种方法来定义每个模型每个角色的访问权限,因此当我调用 Quotes::all() 时,它只检索合法的权限(当然保存也是如此)。

请指导我使用 Laravel 功能(甚至是包,但我以前没有使用过)来帮助我完成工作。

期待可能的降低维护成本的解决方案。谨致问候!

最佳答案

为了验证不同类型的用户并保护特定类型可以访问的路由组,您可以使用 guards ,要授权 CRUD 操作,您可以使用 FormRequest ,我认为您在这两个链接下拥有所需的一切,当然您需要阅读这些内容,这是一个很好的起点。至于表格,你可以有这些:

用户、角色、公司、user_role、user_company

和型号:

用户、角色、公司

关于php - Laravel - 多公司范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com