没有 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'));
}
我一直在寻找密码保护 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'));
}