ujjwal/user-rbac

一个易于集成 ZfcUser 和 ZfcRbac 的 Zend Framework 2 模块

0.1.1 2014-04-05 09:48 UTC

This package is auto-updated.

Last update: 2024-09-13 14:01:20 UTC


README

Master Branch Build Status Latest Stable Version Latest Unstable Version Total Downloads Scrutinizer Code Coverage

一个易于集成的 Zend Framework 2 模块 ZfcUserZfcRbac

你是否厌倦了反复集成 ZfcUser 和 ZfcRbac 的繁琐工作?那么,你就在正确的位置。这个模块就是为了帮助我们而生的。这个模块简单来说,就是从数据库中获取用户的角色并将其传递给 ZfcRbac。你只需要专注于你应用程序的领域逻辑。不再有重复的任务。

功能

  1. 无需编写代码来集成 ZfcUser 和 ZfcRbac
  2. 用户角色可以轻松地从数据库中检索
  3. 添加了 SmartRedirectStrategy

安装

  • "ujjwal/user-rbac": "0.1.*", 添加到你的 composer.json 中,并运行 php composer.phar update
  • 导入 data/mysql.sql 中的模式
  • config/application.config.php 中启用此模块
  • 将位于 vendor/ujjwal/user-rbac/config/user-rbac.global.php 的文件复制到 ./config/autoload/user-rbac.global.php,并根据需要更改值

它做了什么

该模块注册了一个身份提供者并向 ZfcRbac 提供了一些配置。因此,你不需要创建自己的身份提供者。请参阅 config/module.config.php

它是如何工作的

它从 user_role_linker 表中获取用户的角色并将这些角色传递给 ZfcRbac。当您使用 ZfcRbac\Role\InMemoryRoleProvider 作为角色提供者时,该模块最适合。

选项

请检查 vendor/ujjwal/user-rbac/config/user-rbac.global.php 中可用的选项。

SmartRedirectStrategy

该模块附带了一个名为 SmartRedirectStrategy 的新策略。这个策略简单地将用户重定向到 ZfcUser 的登录页面或路由 zfcuser/login,仅当用户未认证时。否则,它将显示 403 错误页面!

用法

public function onBootstrap(EventInterface $e)
{
    $t = $e->getTarget();

    $t->getEventManager()->attach(
        $t->getServiceManager()->get('UserRbac\View\Strategy\SmartRedirectStrategy')
    );
}

已知限制

此模块仅适用于小型和中型网站,作为快速简便的方法。对于复杂用例,它可能不适合您的需求。