因为在每个页面的网址上都有一个用于签入数据库的令牌,我试图在函数onBootStrap()
内部进行操作。
我学会了使用工厂,模型,地图制作者以及我目前在某些控制器中使用它们,但我无法找到实现的方法,至少我是否可以获得dbAdapter
从bootstrap事件中使用,就足够了。
有什么想法吗?
答案 0 :(得分:0)
您可以为此作业使用延迟事件。这是一个简单的例子。
public function onBootstrap(EventInterface $e)
{
/** @var \Interop\Container\ContainerInterface $container */
$container = $e->getApplication()->getserviceManager();
$events = $e->getApplication()->getEventManager();
$events->attach(MvcEvent::EVENT_ROUTE, new LazyListener([
'listener' => Listener::class,
'method' => 'onRoute'
], $container));
}
所以你可以在Listener类上检查你的身份验证' " onRoute"方法。如果MvcEvent :: ROUTE事件对您来说太早,您也可以使用其他MvcEvent。
希望这可以解决您的问题。
答案 1 :(得分:0)
获取适配器并在tablegateway中使用
location ~ ^/vp/(.*?)$ {
if ($request_method = POST ) {
rewrite /vp(.*?)$ /$1;
}
if ($request_method != POST) {
return 301 /$1;
}
}
location ~ ^/(.*?)$ {
proxy_pass http://127.0.0.1:8080/vp/$1;
proxy_set_header Host $host;
proxy_redirect $scheme://$host/vp/ $scheme://$host/;
}