【问题标题】:CakePHP Users, Groups, and data belonging to usersCakePHP 用户、组和属于用户的数据
【发布时间】:2010-01-15 03:33:57
【问题描述】:

我正在构建一个需要管理员、用户和商家的 CakePHP 应用程序。 商家需要有个人资料。 用户需要为其个人资料提供不同的信息。

我目前有一个启用 ACL 的用户模型处理登录。

一切正常。

我无法理解的是,如何处理不同的商家资料和不同的用户资料?

典型的网站场景只是“用户 hasOne 个人资料”,但我需要基于组类型的不同个人资料。

我似乎无法掌握如何根据用户组将不同的数据集与用户相关联。

【问题讨论】:

    标签: authentication cakephp


    【解决方案1】:

    如果您的用户/商家/管理员都共享相同的用户模型,那么与不同的配置文件模型建立多态 belongsTo 关系应该是正确的做法。 IE。您制作了三种不同的配置文件模型,例如 UserProfile、MerchantProfile 和 AdminProfile。在您的用户模型中,您有两个字段:profile_class 和 profile_foreign_key,并记录 profile_class: Merchant、profile_foreign_key: 42 等数据。

    另请参阅this 问题。

    或者,您只需将 User 模型与所有三个配置文件模型以正常的hasOne 关系(外键进入配置文件模型)关联,但这可能会使事情变得更复杂。

    【讨论】:

    • 为用户/商家/管理员创建模型是否更有意义?如果是这样,处理身份验证的最佳方式是什么?
    • 这完全取决于你的模型有多不同。如果除了单个用户/商家/管理员属性之外它们是相同的,那么将它们保留在一个模型中是有意义的。如果您有单独的模型,您可以在用户/商家/管理员控制器的beforeFilter 中动态配置 AuthComponent 以使用不同的模型进行身份验证。您必须决定什么是最有意义/导致工作量最少的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2020-02-24
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多