public function login()
    {

        // invoke the parent method
        if (parent::login()) {
            // if login has been successfully, setup our view of the user
            $name = new String($this->sharedState->get(SharedStateKeys::LOGIN_NAME));
            // query whether or not we alredy hava a principal
            if ($name instanceof PrincipalInterface) {
                $this->identity = name;
            } else {
                $name = $name->__toString();
                try {
                    $this->identity = $this->createIdentity($name);
                } catch (\Exception $e) {
                    throw new LoginException(sprintf('Failed to create principal: %s', $e->getMessage()));
                }
            }

            // return immediately
            return true;
        }

        // else, reset the login flag
        $this->loginOk = false;

        // array containing the username and password from the user's input
        list ($name, $password) = $this->getUsernameAndPassword();

        if ($name == null && $password == null) {
            $this->identity = $this->unauthenticatedIdentity;
        }

        if ($this->identity == null) {
            try {
                $this->identity = $this->createIdentity($name);
            } catch (\Exception $e) {
                throw new LoginException(sprintf('Failed to create principal: %s', $e->getMessage()));
            }

            // hash the user entered password if password hashing is in use
            if ($this->hashAlgorithm != null) {
                $password = $this->createPasswordHash($name, $password);
                // validate the password supplied by the subclass
                $expectedPassword = $this->getUsersPassword();
            }

            // validate the password
            if ($this->validatePassword($password, $expectedPassword) === false) {
                throw new FailedLoginException('Password Incorrect/Password Required');
            }
        }

        // query whether or not password stacking has been activated
        if ($this->getUseFirstPass()) {
            // add the username and password to the shared state map
            $this->sharedState->add(SharedStateKeys::LOGIN_NAME, $name);
            $this->sharedState->add(SharedStateKeys::LOGIN_PASSWORD, $this->credential);
        }

        $this->loginOk = true;
        return true;
    }
public function login()
    {

        // invoke the parent method
        if (parent::login()) {
            // if login has been successfully, setup our view of the user
            $name = new String($this->sharedState->get(SharedStateKeys::LOGIN_NAME));
            // query whether or not we alredy hava a principal
            if ($name instanceof PrincipalInterface) {
                $this->identity = name;
            } else {
                $name = $name->__toString();
                try {
                    $this->identity = $this->createIdentity($name);
                } catch (\Exception $e) {
                    throw new LoginException(sprintf('Failed to create principal: %s', $e->getMessage()));
                }
            }

            // return immediately
            return true;
        }

        // else, reset the login flag
        $this->loginOk = false;

        // array containing the username and password from the user's input
        list ($name, $password) = $this->getUsernameAndPassword();

        if ($name == null && $password == null) {
            $this->identity = $this->unauthenticatedIdentity;
        }

        if ($this->identity == null) {
            try {
                $this->identity = $this->createIdentity($name);
            } catch (\Exception $e) {
                throw new LoginException(sprintf('Failed to create principal: %s', $e->getMessage()));
            }

            // hash the user entered password if password hashing is in use
            if ($this->hashAlgorithm != null) {
                $password = $this->createPasswordHash($name, $password);
                // validate the password supplied by the subclass
                $expectedPassword = $this->getUsersPassword();
            }

            // validate the password
            if ($this->validatePassword($password, $expectedPassword) === false) {
                throw new FailedLoginException('Password Incorrect/Password Required');
            }
        }

        // query whether or not password stacking has been activated
        if ($this->getUseFirstPass()) {
            // add the username and password to the shared state map
            $this->sharedState->add(SharedStateKeys::LOGIN_NAME, $name);
            $this->sharedState->add(SharedStateKeys::LOGIN_PASSWORD, $this->credential);
        }

        $this->loginOk = true;
        return true;
    }
public function login ( ) { // invoke the parent method if ( parent :: login ( ) ) { // if login has been successfully, setup our view of the user $ name = new String ( $ this -> sharedState -> get ( SharedStateKeys :: LOGIN_NAME ) ) ; // query whether or not we alredy hava a principal if ( $ name instanceof PrincipalInterface ) { $ this -> identity = name ; } else { $ name = $ name -> __toString ( ) ; try { $ this -> identity = $ this -> createIdentity ( $ name ) ; } catch ( \ Exception $ e ) { throw new LoginException ( sprintf ( 'Failed to create principal: %s' , $ e -> getMessage ( ) ) ) ; } } // return immediately return true ; } // else, reset the login flag $ this -> loginOk = false ; // array containing the username and password from the user's input list ( $ name , $ password ) = $ this -> getUsernameAndPassword ( ) ; if ( $ name == null && $ password == null ) { $ this -> identity = $ this -> unauthenticatedIdentity ; } if ( $ this -> identity == null ) { try { $ this -> identity = $ this -> createIdentity ( $ name ) ; } catch ( \ Exception $ e ) { throw new LoginException ( sprintf ( 'Failed to create principal: %s' , $ e -> getMessage ( ) ) ) ; } // hash the user entered password if password hashing is in use if ( $ this -> hashAlgorithm != null ) { $ password = $ this -> createPasswordHash ( $ name , $ password ) ; // validate the password supplied by the subclass $ expectedPassword = $ this -> getUsersPassword ( ) ; } // validate the password if ( $ this -> validatePassword ( $ password , $ expectedPassword ) === false ) { throw new FailedLoginException ( 'Password Incorrect/Password Required' ) ; } } // query whether or not password stacking has been activated if ( $ this -> getUseFirstPass ( ) ) { // add the username and password to the shared state map $ this -> sharedState -> add ( SharedStateKeys :: LOGIN_NAME , $ name ) ; $ this -> sharedState -> add ( SharedStateKeys :: LOGIN_PASSWORD , $ this -> credential ) ; } $ this -> loginOk = true ; return true ; }
Perform the authentication of username and password.

@return boolean TRUE when login has been successfull, else FALSE
@throws \AppserverIo\Psr\Security\Auth\Login\LoginException Is thrown if an error during login occured
Perform the authentication of username and password .