【问题标题】:Doubts on designing CakePHP project设计CakePHP项目的疑惑
【发布时间】:2011-02-04 04:10:13
【问题描述】:

我是 CakePHP 的新手,我正在尝试为我想要构建的应用找出最佳解决方案: 数据库的表基本是这样的:

  • 公司
  • 产品
  • Users_of_companies
  • 服务
  • 管理员(所有能够插入新公司、服务和产品的管理员)

我们的想法是有一个项目,公司将拥有他们的产品。每个产品都会有(许多)与之相关的服务,所以我创建了一个中间表来存储 product_id、service_id 和 company_id。

我的问题是想出一个解决方案,让我们自己拥有一个管理面板以及与之相关的权限(也许管理员 1 可以插入新公司,但管理员 2 只能看到它们),以及另一个管理面板公司的用户可以根据他们的权限做不同的事情(例如,创建公司的新用户或只是查看他们的产品)。

我在 CakePHP 中阅读了有关管理员的信息,但我不太确定在我的情况下我该如何处理,如果有任何想法,我将不胜感激。

最好的,

【问题讨论】:

    标签: cakephp


    【解决方案1】:

    首先,您需要考虑您的数据模型。对我来说,从你所说的来看,它看起来会是这样的:

    • 公司 : haveMany : 产品
    • 公司 : haveMany : 用户
    • 产品 : haveMany : 公司 ??我不知道
    • 产品 : haveMany : 服务
    • 产品 : haveMany : 服务
    • 服务 : haveMany : 产品 ??我不知道。

    最好在关系中画出你的数据模型和铅笔。通过这种方式,您将能够理解它们是如何组合在一起的。您将开始看到 1:n 和 m:n 关系的位置。

    对于管理方面,请查看 Auth 组件。如果你觉得很勇敢,还可以看看 Acl 组件。 Acl 将允许您定义哪些用户组可以执行哪些操作。我的建议是远离管理系统——它很粗糙,以后会让你感到沮丧。

    如果您还没有这样做,请阅读 - 或至少阅读 - Blog Tutorial - 它会向您介绍许多基本概念,并且相对快速且轻松。 Acl tutorial 也不错,但更高级。 Mark Story 的Acl Tutorial 可能更容易理解(我认为他在手册中写了那个)。

    【讨论】:

    • 您好,感谢您的回答。关于我的模型:产品有一个公司。而且服务有很多产品。我关心的是如何建立一个身份验证系统来区分管理员和用户。而且,这些用户必须根据他们所属的公司而分开。我一直在阅读acl教程,我会尽快分享我的解决方案。
    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2017-02-16
    • 2013-09-06
    • 2013-08-12
    • 2018-11-30
    相关资源
    最近更新 更多