gpt4 book ai didi

zend-framework - Zend_Acl,角色和权限存储在数据库中

转载 作者:行者123 更新时间:2023-12-04 19:15:22 24 4
gpt4 key购买 nike

我想为我的应用程序构建一个 ACL 系统,它具有以下要求。

  • 用户将被分配一个或多个角色。 (Admin, Staff) 等
  • 角色将拥有权限。(Send_Invoices、Send_mail、Delete_Invoices、Send_Estimate)等
  • 除了它继承的角色之外,用户将被分配自定义权限。

  • 我的 ACL 数据库结构如下
    role:
    +----------+-------------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+----------------+
    | id | int(11) | NO | PRI | NULL | auto_increment |
    | roleName | varchar(50) | NO | UNI | NULL | |
    +----------+-------------+------+-----+---------+----------------+
    permission:
    +----------------+-------------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +----------------+-------------+------+-----+---------+----------------+
    | id | int(11) | NO | PRI | NULL | auto_increment |
    | permissionName | varchar(50) | NO | | NULL | |
    | permissionKey | varchar(50) | NO | UNI | NULL | |
    +----------------+-------------+------+-----+---------+----------------+
    role_permission
    +---------------+---------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +---------------+---------+------+-----+---------+----------------+
    | id | int(11) | NO | PRI | NULL | auto_increment |
    | role_id | int(11) | NO | MUL | NULL | |
    | permission_id | int(11) | NO | | NULL | |
    +---------------+---------+------+-----+---------+----------------+
    user_role
    +---------------+---------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +---------------+---------+------+-----+---------+----------------+
    | id | int(11) | NO | PRI | NULL | auto_increment |
    | user_id | int(11) | NO | MUL | NULL | |
    | role_id | int(11) | NO | | NULL | |
    +---------------+---------+------+-----+---------+----------------+
    user_permission
    +---------------+---------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +---------------+---------+------+-----+---------+----------------+
    | id | int(11) | NO | PRI | NULL | auto_increment |
    | user_id | int(11) | NO | MUL | NULL | |
    | permission_id | int(11) | NO | | NULL | |
    +---------------+---------+------+-----+---------+----------------+

    我已迁移到 Zend 框架,并且在决定 Zend_Acl 是否允许我实现当前结构时遇到问题。我的问题是。
  • 我是否可以使用当前的数据库结构实现 ACL 以在 Zend Framework 中执行所需的操作?
  • 有没有更好的实现可以让我在 zend 框架中实现我想要的?

  • 如果有人能为我提供一种开始我需要做的事情的方法,我将不胜感激。任何可以帮助我的资源,链接?

    谢谢你。

    最佳答案

    嗯,我认为这个结构真的很好,要让它工作,你必须做 2 个步骤

    1-设置所有数据库和要求

    2- 创建一个 ACL 插件来确定用户的角色和他的权限

    一些有学说支持的例子:

    Developing a Doctrine-backed ACL helper TDD-style, part 1

    Developing a Doctrine-backed ACL helper TDD-style, part 2

    另一个简单的 ACL :

    Dynamic custom ACL in zend framework?

    关于zend-framework - Zend_Acl,角色和权限存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10293007/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com