Exemplo n.º 1
0
 /**
  * Route shutdown hook -- Check for router exceptions
  *
  * @param Zend_Controller_Request_Abstract $request
  */
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     $auth = Zend_Auth::getInstance();
     $orgService = \Application\Service\OrgService::getInstance();
     $identity = $auth->getIdentity();
     //Bypass other auth methods
     if ($identity['authType'] != App_Controller_Plugin_Auth::AUTH_TYPE_AUTH_TOKEN) {
         return;
     }
     $front = Zend_Controller_Front::getInstance();
     $bs = $front->getParam('bootstrap');
     // Fetch logs and apply the token to them
     $multilog = $bs->getPluginResource('multiplelog');
     if (empty($identity['impersonation']) || empty($identity['impersonation']['orgId'])) {
         return;
     }
     $orgId = $identity['impersonation']['orgId'];
     $userSrv = UserService::getInstance();
     \App::log()->info($identity['username'] . " is running as " . $orgId . " admin");
     $user = $userSrv->loadByUsername($identity['username']);
     $userSrv->generateImpersonatedUser($user, $identity['impersonation']);
     foreach ($multilog->getLogs() as $log) {
         $log->setEventItem('impersonated', "as {$orgId} admin");
         $log->setEventItem('impersonatedOrgId', "{$orgId}");
         $log->setEventItem('username', $identity['username'] . " as {$orgId} admin");
     }
     //         Application\Model\Mapper\ProtoAbstractMapper::$accountingUserId .= "_impersonated";
     Application\Model\Mapper\ProtoAbstractMapper::$organizationId = $orgId;
     App_ListFilter::addDefaultExtraData('impersonated_org', $orgId);
     $org = OrgService::getInstance()->load($orgId);
     \App::getOrgUserLogged($org);
 }
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     $auth = Zend_Auth::getInstance();
     $identity = $auth->getIdentity();
     $byPassMethods = array(App_Controller_Plugin_Auth::AUTH_TYPE_LOST_PASSWORD, App_Controller_Plugin_Auth::AUTH_TYPE_ASYNC, App_Controller_Plugin_Auth::AUTH_TYPE_EXTERNAL, App_Controller_Plugin_Auth::AUTH_TYPE_THIRD_PARTY);
     //Bypass some auth methods
     if ($identity['authType'] && in_array($identity['authType'], $byPassMethods)) {
         return;
     }
     $user = App::getUserLogged();
     $org = App::getOrgUserLogged();
     App_ListFilter::addDefaultExtraData('user', $user->getUserName());
 }
Exemplo n.º 3
0
 public static function generateToken($userName, $orgId, $language = 'en')
 {
     // Get tracking token
     $tracking = self::_getResource("trackingtoken");
     if (!$tracking) {
         return;
     }
     // Fetch logs and apply the token to them
     $multilog = self::_getResource('multiplelog');
     foreach ($multilog->getLogs() as $log) {
         $log->setEventItem('token', $tracking->getToken());
     }
     //TODO Why is it here???
     // Refactor: move it to helper
     Application\Model\Mapper\ProtoAbstractMapper::$accountingTransactionPrefix = $tracking->getToken() . '-';
     Application\Model\Mapper\ProtoAbstractMapper::$accountingUserId = $userName;
     Application\Model\Mapper\ProtoAbstractMapper::$language = $language;
     Application\Model\Mapper\AbstractMapper::$organizationId = $orgId;
     App_ListFilter::addDefaultExtraData('user', $userName);
 }