加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:访问控制机制的体系结构

发布时间:2020-12-13 22:29:19 所属栏目:PHP教程 来源:网络整理
导读:我有一个 PHP应用程序,它具有基于单个页面的navigation-id的访问控制机制.因此,例如,用户可以访问页面1,4,5.导航ID不是静态的,管理员用户可以生成新页面(因此新的导航ID).我有一些面向服务的架构.所以我有从JSON客户端调用的服务,也可以直接从服务器端调用PH
我有一个 PHP应用程序,它具有基于单个页面的navigation-id的访问控制机制.因此,例如,用户可以访问页面1,4,5.导航ID不是静态的,管理员用户可以生成新页面(因此新的导航ID).我有一些面向服务的架构.所以我有从JSON客户端调用的服务,也可以直接从服务器端调用PHP类(控制器).我遇到的问题是,我需要一个服务的访问控制机制.我想将它与服务本身分开.

服务正在返回业务对象.所有这些BO都与对象有一些“连接”,该对象具有导航ID.例如service返回图像:Image.page – > Page.navID或服务返回维度(n-n):维度 – > DimImageConnector – > Image.page – > Page.navID.

我无法想象一个干净的解决方案来检查访问权限.要在业务对象中搜索navigation-id,似乎不是一个非常好的简单解决方案.

为我的访问控制架构提供一些输入会很好.

谢谢!

BTW:我正在使用注释框架,因此一种可能性是通过服务方法指定一些访问信息.

解决方法

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

想象一下这个想法.如果当前用户可以调用该服务,则您有一个基本服务类,其中返回方法IsCallable.

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

在这里,我留下了一个关于我的艰难的图形概念.对不起图形,它只是Power Point,因为我不是CASE Tools的粉丝.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读