没有 htpasswd 的密码保护 Apigility 管理员 UI

Password protecting Apigility admin UI without htpasswd

我一直在寻找密码保护 apiglity admin ui 而不使用 htpasswd,但我没有得到任何相关信息。有人可以帮我解决这个问题吗?

提前致谢

您不需要 ApiGility 的密码保护 UI。应该只允许在 Dev 环境中访问。

php public/index.php development enable <- to enable the UI
php public/index.php development disable <- to disable the UI

如果你愿意为它设置密码保护。然后您可以向应用程序添加一个事件 Module.php 以检查是否允许已识别的用户访问该资源。

编辑 - 如果您想通过密码保护某些内容

下面的代码应该放在Module.php文件中。 (很多情况下在Application模块下)。

它调用事件管理器并将操作附加到 Dispatch 事件。 每次应用程序到达调度阶段时都会触发此事件。

动作作为 call back 传递,因此您可以附加函数,classes ans 等。在这个例子中,我传递了一个新的 class 可以访问 MvcEvent ( $e).

例如,class 可以检查用户是否登录。如果没有,则将他重定向到 /login。

public function onBootstrap(MvcEvent $e)
{
    $eventManager = $e->getApplication()->getEventManager();
    $eventManager->attach(MvcEvent::EVENT_DISPATCH, array(new UserAccessChecker($e), 'getResponse'));
}

为了认证的目的你应该进一步调查ACL & RABC