protected function validateIdentity($identity)
    {
        $credentialProperty = $this->options->getCredentialProperty();
        $getter             = 'get' . ucfirst($credentialProperty);
        $documentCredential = null;

        if (method_exists($identity, $getter)) {
            $documentCredential = $identity->$getter();
        } elseif (property_exists($identity, $credentialProperty)) {
            $documentCredential = $identity->{$credentialProperty};
        } else {
            throw new Exception\UnexpectedValueException(
                sprintf(
                    'Property (%s) in (%s) is not accessible. You should implement %s::%s()',
                    $credentialProperty,
                    get_class($identity),
                    get_class($identity),
                    $getter
                )
            );
        }

        $credentialValue = $this->credential;
        $callable        = $this->options->getCredentialCallable();

        if ($callable) {
            $credentialValue = call_user_func($callable, $identity, $credentialValue);
        }

        if ($credentialValue !== true && $credentialValue !== $documentCredential) {
            $this->authenticationResultInfo['code']       = AuthenticationResult::FAILURE_CREDENTIAL_INVALID;
            $this->authenticationResultInfo['messages'][] = 'Supplied credential is invalid.';

            return $this->createAuthenticationResult();
        }

        $this->authenticationResultInfo['code']       = AuthenticationResult::SUCCESS;
        $this->authenticationResultInfo['identity']   = $identity;
        $this->authenticationResultInfo['messages'][] = 'Authentication successful.';

        return $this->createAuthenticationResult();
    }
protected function validateIdentity($identity)
    {
        $credentialProperty = $this->options->getCredentialProperty();
        $getter             = 'get' . ucfirst($credentialProperty);
        $documentCredential = null;

        if (method_exists($identity, $getter)) {
            $documentCredential = $identity->$getter();
        } elseif (property_exists($identity, $credentialProperty)) {
            $documentCredential = $identity->{$credentialProperty};
        } else {
            throw new Exception\UnexpectedValueException(
                sprintf(
                    'Property (%s) in (%s) is not accessible. You should implement %s::%s()',
                    $credentialProperty,
                    get_class($identity),
                    get_class($identity),
                    $getter
                )
            );
        }

        $credentialValue = $this->credential;
        $callable        = $this->options->getCredentialCallable();

        if ($callable) {
            $credentialValue = call_user_func($callable, $identity, $credentialValue);
        }

        if ($credentialValue !== true && $credentialValue !== $documentCredential) {
            $this->authenticationResultInfo['code']       = AuthenticationResult::FAILURE_CREDENTIAL_INVALID;
            $this->authenticationResultInfo['messages'][] = 'Supplied credential is invalid.';

            return $this->createAuthenticationResult();
        }

        $this->authenticationResultInfo['code']       = AuthenticationResult::SUCCESS;
        $this->authenticationResultInfo['identity']   = $identity;
        $this->authenticationResultInfo['messages'][] = 'Authentication successful.';

        return $this->createAuthenticationResult();
    }
protected function validateIdentity ( $ identity ) { $ credentialProperty = $ this -> options -> getCredentialProperty ( ) ; $ getter = 'get' . ucfirst ( $ credentialProperty ) ; $ documentCredential = null ; if ( method_exists ( $ identity , $ getter ) ) { $ documentCredential = $ identity -> $ getter ( ) ; } elseif ( property_exists ( $ identity , $ credentialProperty ) ) { $ documentCredential = $ identity -> { $ credentialProperty } ; } else { throw new Exception \ UnexpectedValueException ( sprintf ( 'Property (%s) in (%s) is not accessible. You should implement %s::%s()' , $ credentialProperty , get_class ( $ identity ) , get_class ( $ identity ) , $ getter ) ) ; } $ credentialValue = $ this -> credential ; $ callable = $ this -> options -> getCredentialCallable ( ) ; if ( $ callable ) { $ credentialValue = call_user_func ( $ callable , $ identity , $ credentialValue ) ; } if ( $ credentialValue !== true && $ credentialValue !== $ documentCredential ) { $ this -> authenticationResultInfo [ 'code' ] = AuthenticationResult :: FAILURE_CREDENTIAL_INVALID ; $ this -> authenticationResultInfo [ 'messages' ] [ ] = 'Supplied credential is invalid.' ; return $ this -> createAuthenticationResult ( ) ; } $ this -> authenticationResultInfo [ 'code' ] = AuthenticationResult :: SUCCESS ; $ this -> authenticationResultInfo [ 'identity' ] = $ identity ; $ this -> authenticationResultInfo [ 'messages' ] [ ] = 'Authentication successful.' ; return $ this -> createAuthenticationResult ( ) ; }
This method attempts to validate that the record in the resultset is indeed a
record that matched the identity provided to this adapter.

@param  object                              $identity
@throws Exception\UnexpectedValueException
@return AuthenticationResult
This method attempts to validate that the record in the resultset is indeed a record that matched the identity provided to this adapter .