gpt4 book ai didi

oop - 设计用户访问/权限类

转载 作者:行者123 更新时间:2023-12-04 15:03:51 26 4
gpt4 key购买 nike

我正在一个站点上工作,该站点将具有几个模块,这些模块对某些用户完全可用,对其他用户半可用,而对其余用户不可用。

例如:

  • “员工”能够响应分配给他的客户支持票证。
  • “经理”能够管理其团队中的所有员工和支持工单,包括查看特定员工的工单。
  • “管理员”能够管理所有团队中的所有经理、员工和工单,以及其他一些核心功能。

  • 此外,如果当前用户是管理员或经理,则在某些页面上会显示一些附加字段。 (例如删除/标记事物的链接)。这些不会显示给员工。

    我想创建一个“权限”模型来处理以下逻辑:
  • 确定用户是否可以访问当前页面。
  • 确定是否应显示页面的特定部分。 (例如,用于编辑/删除的特殊链接仅向管理员和经理显示)。

  • 我需要一些建议/建议来设计这个类,特别是它应该有什么方法来完成第二个要求。

    最佳答案

    当它出现时,我处理这个问题的方法是给出每个可以采取的行动或可以显示它自己的信息Permission .每个User然后有一个集合 Permissions .由此,您可以添加其他结构层来帮助管理将存在的大量权限,例如权限的层次结构或类别。

    一旦到位,您可以让各个部分询问 User如果他们拥有所需的权限,或者您可以拥有 PermissionManager拍下User和一组Permissions并确定给定用户是否具有所需的Permissions .无论哪种方式都可以正常工作,但是您选择哪种方式会对依赖关系和系统架构产生影响。
    PermissionManager方法的优点是您的应用程序不需要依赖 User , 所以你可以使用不同的 PermissionManager总是返回 False如果没有合适的权限,或 True如果所有权限都合适。

    对于简单的情况,这种方法可能有点矫枉过正,起初看起来似乎是这样,但我已经走上了使用基本分层或粗粒度角色的路线,并且我喜欢几乎我工作过的每个系统也很快得到了对于大多数普通的、预先构建的基于角色的权限系统来说很复杂。

    关于oop - 设计用户访问/权限类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5704022/

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