gpt4 book ai didi

security - 我什么时候应该在我的应用程序中使用 ACL

转载 作者:行者123 更新时间:2023-12-04 02:06:21 26 4
gpt4 key购买 nike

我对何时应该在我的应用程序 中实现 ACL(访问控制列表)系统感到非常困惑,尽管我可以通过获取 session 组 ID 并使用 Auth 组件限制访问来轻松管理组的权限。

ACL 解决方案如何比我上面讨论的方法更好(根据组 ID 限制组访问)?

在管理应用程序中的访问权限时,实现 ACL 解决方案如何简化事情?

到目前为止,我已经了解到通过 ACL 可以在运行时授予和撤销权限,但此功能也可以在不使用 ACL 的情况下实现。

我对此非常困惑,请帮助我理解这个概念、何时使用 ACL 以及在您的 Web 应用程序中使用 ACL 的好处。

我更喜欢使用 cakePHP v1.3 进行编码,因此如果在 cakephp 的上下文中给出解释会很棒,但非常感谢与我的问题相关的任何帮助(独立于语言/技术)。

最佳答案

如果您需要控制对动态变化的单个实体 的访问 ,则必须使用 ACL(或等效的用户权限机制,例如文字数据库用户和权限表)而不是组。文件系统将 ACL 附加到单个文件,因为您不想为每个文件创建单独的组。出于同样的原因,数据库管理器将 ACL 附加到数据库、表、 View 、存储过程等。 Web 服务器以相同的方式处理 Web 应用程序。

在处理业务实体的业务应用程序中,您可能希望划分对实体的访问,例如公司内不同的销售订单、客户、产品或部门,并非每个人都可以创建/更新甚至读取相同的实体。例如,当销售人员直接竞争奖金时,他们不希望其他人看到他们 CRM 存储的潜在客户的所有信息。

但是,通常情况下,您希望使访问机制尽可能粗粒度:组通常足够好。细粒度的访问控制机制有变得复杂、昂贵、不准确和难以正确使用的趋势。他们甚至可能 降低 安全性,因为管理挫折鼓励人们寻找聪明的解决方法......

关于security - 我什么时候应该在我的应用程序中使用 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3164550/

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