【问题标题】:CakePHP User levels?CakePHP 用户级别?
【发布时间】:2011-07-05 11:28:46
【问题描述】:

我正在用 CakePHP 开发一个身份验证系统。我有两种用户;申请人和雇主。我有一个用户表和每个控制器、模型和视图:

controllers:
    users_controller.php
    applicants_controller.php
    employers_controller.php

models:
    user.php
    applicant.php
    employer.php

views:
    applicants:
        register.ctp
    employers:
        register.ctp

这样,当我想注册一个申请者时,我会使用申请者控制器、模型和注册视图。雇主也一样。但我在重复自己。实现这一点的最佳方法是什么?我应该使用 ACL 吗?

谢谢

【问题讨论】:

    标签: authentication cakephp


    【解决方案1】:

    如果这些是您唯一的区别,我将只使用一个用户表并相应地设置标志。

    为此,您需要另外 2 个名为 applicantemployee 的表字段。只需使用tinyint(1),Cake 就可以将其用作布尔值。

    然后,您可以在您的 AppController 中检查(在使用 AuthComponent 进行身份验证后)这两个值并允许或拒绝操作。

    【讨论】:

    • 谢谢哥们。这是一个很好的提示,但如果将来我的应用程序必须支持多种登录协议,如 OpenID,该怎么办?这是我想拆分表的原因之一,但到目前为止我的实现还不够好。我应该怎么做才能不违反 DRY 原则?
    • 我不明白为什么要为多个登录协议拆分表。但是,如果您想保留当前的实现,您应该阅读有关组件(控制器共享代码)和行为(模型共享代码)的手册。这应该会让你走上正轨。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2017-11-10
    • 2011-01-04
    相关资源
    最近更新 更多