我Zend MVC application
上有两个模块。我想仅在用户通过admin身份验证时才设置管理模块的路由。
在发送URL
时,是否有任何通用方法可以知道谁经过身份验证?如果不是管理员将他重新安排到错误页面。
有什么建议吗?提前谢谢。
答案 0 :(得分:1)
我建议您使用bjyauthorize而不是自己动手。
答案 1 :(得分:0)
您可以使用mvc event喜欢"发送"。在Module.php的bootstrap-method(例如)中监听此事件,并调用处理身份验证/重定向的自定义方法。所以,这里有一个小例子:也许,您还可以查看身份验证服务。
/**
* /Admin/src/Admin/Module.php (e.g.)
*/
class Module
{
public function onBootstrap(MvcEvent $e) {
/* @var $sharedEventManager \Zend\EventManager\SharedEventManager */
$sharedEventManager = $e->getApplication()->getEventManager()->getSharedManager();
$sharedEventManager->attach(MvcEvent::EVENT_DISPATCH, array($this, 'doAuthentication'),1); // 1 is priority
}
/**
* authentication processing
*/
public function doAuthentication($event) {
// your logic....
}
}