gpt4 book ai didi

PHP:访问控制机制的架构

转载 作者:可可西里 更新时间:2023-10-31 23:44:03 24 4
gpt4 key购买 nike

我有一个 PHP 应用程序,它具有基于单个页面的导航 ID 的访问控制机制。因此,例如,用户可以访问第 1、4、5 页。导航 ID 不是静态的,新页面(以及新的导航 ID)可能由管理员用户生成。我有某种面向服务的架构。所以我有一些服务,这些服务可以通过 JSON 从客户端调用,也可以通过 PHP 类( Controller )直接从服务器端调用。我遇到的问题是,我需要服务的访问控制机制。我希望将其与服务本身分开。

服务正在返回业务对象。所有这些 BO 都与一个具有导航 ID 的对象有某种“联系”。例如服务返回图像:Image.page-->Page.navID 或服务返回维度 (n-n):Dimension-->DimImageConnector-->Image.page-->Page.navID。

我无法想象一个干净的解决方案来检查访问权限。在业务对象中搜索导航 ID 似乎不是一个非常好的和简单的解决方案。

如果能为我的访问控制架构提供一些输入会很好。

谢谢!

顺便说一句:我正在使用注释框架,所以一种可能性是通过服务方法指定一些访问信息。

最佳答案

我的想法实现起来有点复杂,但我认为它解决了问题。它与您的请求有一个问题,那就是它没有与服务本身分开。

想象一下这个想法。如果当前用户可以调用该服务,您有一个带有方法 IsCallable 的基本服务类。

从您继承的服务类,NonAuthenticatedService 和 AuthenticatedService。完成之后,您只需创建一个服务工厂来检索服务并调用它们。

在这里,我留下了我的想法的图形化想法。对于图形,我很抱歉,它只是 Power Point,因为我不喜欢 CASE Tools。 :)

Sample Hierarchy

希望能帮到你!

关于PHP:访问控制机制的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153986/

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