/**
  * Handles setting the error on the credentials
  *
  * @param Event  $event
  * @param int    $code
  * @param string $message
  * @return void
  */
 private function setErrorOnEvent(Event $event, $code, $message)
 {
     if ($this->breakChainOnFailure) {
         $event->stopPropagation();
     }
     $event->triggerError($code, "[{$this->name}] {$message}");
     return;
 }
Example #2
0
 /**
  * Handles setting the error on the credentials
  *
  * Returns STATUS_ERROR unless BreakChainOnFailure is set
  *
  * @param        $ldap
  * @param Event  $event
  * @param int    $code
  * @param string $message
  * @return int
  */
 private function setErrorOnEvent($ldap, $event, $code, $message)
 {
     if ($this->breakChainOnFailure) {
         $event->stopPropagation();
     }
     $event->triggerError($code, "[{$this->name}] {$message}");
     if (is_resource($ldap)) {
         ldap_unbind($ldap);
     }
 }
Example #3
0
 /**
  * Triggers the event and returns the identity
  *
  * @param Event $event
  * @return Identity
  */
 private function triggerAndReturnIdentity(Event $event)
 {
     if (empty($this->sentries)) {
         $event->triggerError(Sentry::INVALID, "No sentries available");
     } else {
         /** @var Sentry $sentry */
         foreach ($this->sentries as $sentry) {
             $sentry->discern($event);
             if ($event->isPropagationStopped()) {
                 break;
             }
         }
     }
     /** @var Identity $identity */
     $identity = $event->identity();
     if ($event->hasError()) {
         $identity->addError($event->error());
     }
     return $identity;
 }