neuweb/idauth

Zend Framework 2 内容管理系统认证模块,可以独立于 zcms 运行

dev-master 2014-04-01 14:55 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:39:59 UTC


README

Build Status Latest Stable Version Coverage Status

PSR-2 认证,构建通过

工作进度

该模块现在功能可用,但需要进行大量工作并编写单元测试。在您的环境中使模块正常工作可能需要相当多的工作,因为我还没有时间添加关于如何配置模块的正确文档。一旦模块的愿景在代码中得到大致实现,我将着手完成文档。

请注意,当前的100%覆盖率指标并不准确,因为它只有一个测试文件,覆盖率达到了100% :)

IdAuth

IdAuth旨在成为一个多提供者身份和认证系统。与其他大多数仅允许单个认证系统的模块不同,目标是提供对许多不同的认证系统的访问,包括Facebook / Github等作为附加提供者。

安装

要安装此模块,您可以使用以下命令使用composer

    php composer.phar require nitecon/idauth:dev-master

请注意,此模块**需要** doctrine 来运行,并且还提供了 fixtures 以将初始用户帐户导入到您的数据库中。启用此模块的步骤如下

  1. 按照上面的composer命令安装模块
  2. 将以下模块添加到您的 application.config.php
    return array(
    'modules' => array(
    'DoctrineModule',
    'DoctrineORMModule',
    'DoctrineDataFixtureModule',
    'IdAuth',
    // ... Rest of your modules
    );
  
  1. 配置您的 doctrine 连接驱动程序,如(通常在 config/autoload/global.php 中,但请确保不要在全局文件中存储您的密码,它们应存储在 config/autoload/global.php
    return array(
    'doctrine' => array(
        'connection' => array(
            // default connection name
            'orm_default' => array(
                'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
                'params' => array(
                    'host' => 'localhost',
                    'port' => '3306',
                    'user' => 'testuser',
                    'password' => 'testpass',
                    'dbname' => 'testdatabase',
                )
            )
        )
    ),
    // More of your global configurations
    );
  
  1. 使用以下命令将配置文件复制到您的 autoload 目录中
    cp ./vendor/nitecon/idauth/config/idauth.global.php.dist config/autoload/idauth.global.php
  

您可以随意编辑文件进行其他更改。5. 使用以下命令从项目根目录安装数据库

    ./vendor/bin/doctrine-module orm:schema-tool:create
  

在 fixtures 模块激活的情况下,此时应将管理员用户安装到您的数据库中。如果您没有在数据库中看到管理员用户列表,则可能需要手动运行导入程序

    ./vendor/bin/doctrine-module data-fixture:import

此时,您应该已经安装并准备就绪。您现在可以使用默认管理员用户 admin 和密码 Tru5tme 尝试登录

要登录应用程序,请将浏览器指向 /user/login

此模块的目标

  1. 同时提供多个提供者的用户认证
  2. 同时提供多个独立的身份提供者
  3. 允许基于插件的认证(例如:Facebook)- 目前只需要创建2个类即可创建插件
  4. 本机 LDAP 提供者插件,用于身份和授权
  5. 本机 Zend TableAdapter 提供者插件,用于身份和授权
  6. 本机 Doctrine 提供者插件,用于身份和授权
  7. 通过添加 ZfcRbac 可以轻松提供基于角色的认证
  8. 收集器模块,可以显示当前用户的具体细节,包括当前登录的提供者
  9. 允许独立于每个提供者重置密码
  10. 允许以独立的方式更新提供者上的身份信息。
  11. 为所有提供者添加专用存储(默认:Zend\Authentication\Storage\Session)
  12. 在所有提供者之间进行回退认证,直到找到有效的认证尝试。
  13. 通过指定提供者直接访问认证提供者。
  14. 本机角色数组,允许轻松扩展到 ZfcRbac
  15. 本机认证服务,可以直接与之通信并添加到 ZfcRbac。