srayner/civaccess

ZF2授权模块

dev-master 2016-08-27 20:18 UTC

This package is not auto-updated.

Last update: 2024-09-11 23:58:59 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

CivAccess

CivAccess是一个基于Zend Framework 2的授权模块。它基于Zend\Permission\Acl组件构建。旨在易于使用和理解。授权涵盖了身份可以访问的资源。它不涉及身份验证,即通过一组凭证(如使用用户名和密码登录)来识别某人的过程。

应该与此模块一起使用另一个独立的授权模块。ZfcUser模块是一个很好的例子。

持久层被抽象出来,不依赖于任何特定的数据库供应商。您应该能够使用任何具有PHP PDO驱动的数据库。此模块不依赖于任何特定的身份验证模块。但是,它需要一个可以提供通过getIdentity()方法获取的身份对象的身份验证服务,并且身份对象应提供getId()方法来检索标识符。

角色代表用户和组。因为Zend\Permission\Acl支持多重继承,用户可以属于多个组。角色及其父组存储在一个简单的数据库表中。因此,您可以使用此模块来管理它们,或者使用您自己的模块来操作数据库表。有一些内置的角色,如;访客、用户和管理员,不应删除,但您也可以添加您自己的角色。

资源映射到控制器,权限映射到操作。这使事物简单易懂且易于管理。

规则定义了特定角色对资源上的哪些权限。规则也存储在数据库表中。再次使用此模块来管理它们,或者使用您自己的模块。

安装

要将此模块安装到您的ZF2应用程序中;

  • 在您的vendor文件夹内创建一个空的CivAccess文件夹。
  • 将此git仓库克隆到您的新的CivAccess文件夹中。
  • 通过在您的应用程序配置文件中的'Modules'键下添加一个'CivAccess'条目来激活新模块。

安装后

如果您使用的是MySQL或Firebird数据库,您可以在\data文件夹中找到相应的sql脚本并执行。这将创建数据库中的两个表来存储角色和访问规则。

如果您使用的是zfcUser模块进行身份验证并且尚未创建您的用户数据库表,您可以执行相关..._zfcuser.sql文件。这将创建用户表并将访问规则插入为访客和用户角色以访问标准的zfcuser控制器和操作。

### 创建初始管理员用户 要开始管理系统,您至少需要分配一个具有管理员角色的用户。因为我们还没有管理员用户,这需要通过手动将记录插入到access_role数据库表中来完成。

为此,请在您的数据库上执行create_admin.sql(在data文件夹中找到),将user_id值替换为您的用户ID。