The problem has been solved thanks to @samsonasik comment to another question.
public function checkAuth(MvcEvent $e){
# ... get auth service
if (!$auth->hasIdentity()) {
$e->getRouteMatch()
->setParam('controller', 'zfcuser')
->setParam('action', 'login');
}
return;
}
So I have changed route without external redirection.