代码之家  ›  专栏  ›  技术社区  ›  wasker

在数据访问级别保护web应用程序

  •  0
  • wasker  · 技术社区  · 17 年前

    请考虑以下设置:

    1. 多租户网络应用。
    2. 租户创建公司帐户,公司帐户下有用户帐户。
    3. 用户有角色,有一个特殊的角色“所有者”(创建公司帐户的用户)。

    我想让用户编辑其他用户帐户(一些管理任务),但必须满足两个条件:

    1. 没有人可以编辑所有者的数据(除了所有者,当他编辑自己的配置文件时,并且自己的配置文件编辑与用户编辑相同)。
    2. 用户只能在其公司帐户内访问用户数据和编辑用户。

    该应用程序使用MVC架构。目前,我在web层中检查这两种情况,这对我来说很有效,但我有一些担心。如果我使用某种API或其他类型的数据使用者,我可能会“忘记”强调这些条件。此外,应用程序中还有其他具有类似功能要求的对象,这些对象对它们也有类似的限制,所以我最好想出某种模式来强制执行我对数据访问级别的限制。

    有人能推荐一些值得研究的方法吗?

    谢谢

    1 回复  |  直到 17 年前
        1
  •  1
  •   Tomas    17 年前

    我相信方面或拦截器应该能够帮助你。如果您使用对象,您应该能够拦截包含业务数据的请求,并检查是否允许您的用户使用它。然后,拦截器可以停止或继续执行。