php – 选择架构

我想听听你对我面前的任务的看法.此外,如果有任何已知的设计模式,共享将做很多.

任务是创建项目的体系结构.

将有几种类型的用户

>普通用户
>主管
>管理员
>自定义(这是棘手的部分)

当他们打开网页时,我需要返回用户有权访问的每个模块(页面).

我在考虑多态性.我将有一个基本用户,它具有作为受保护属性的权限和每个新类,例如.主管,将添加更多或覆盖基本的.

每个模块都有组件(网页的一部分),get的结果将是这样的

$modulesAccess = [
     'baseModel' => array(
         'componentOne','componentTwo',),]

有了这个,前端开发人员将知道究竟要绘制什么.

我想在数据库中制作这些模型/组件,但通过代码管理它们会更容易.而且多态在那里对我们来说做得很好.

棘手的部分,自定义用户.这个想法是每个Model / Component都会有一个不同的ajax请求来返回特定的数据.每个上层用户都必须以不同方式实现它.这很好,但是自定义用户,比如说是一个主管,他需要只能从管理员访问一个模型/组件.

你会怎么处理这个?

先感谢您.

实证方法是在以下主要模型中构建身份验证和授权:

>用户:代表用户.
>组/角色:代表一组用户.在某些情况下用户的角色.
>模块:代表您的模块,只是封装其定义信息.
>权限:表示权限和“CRUD”操作(创建,读取,更新,删除)

这可以满足您的大多数安全方案.例如:

>获取特定用户具有“查看”权限的所有模块.
>获取主管具有“查看”权限的所有模块.

另外你可以:

>在组中添加/删除特定用户.
>等等……

多态性不适合用于形成用户类型.而是使用组或角色.

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...