You are here

function _securesite_plain_auth in Secure Site 7.2

Same name and namespace in other branches
  1. 6.2 securesite.inc \_securesite_plain_auth()

Perform plain authentication.

1 string reference to '_securesite_plain_auth'
_securesite_boot in ./securesite.inc
Boot with selected authentication mechanism.

File

./securesite.inc, line 175
Secure Site log-in functions.

Code

function _securesite_plain_auth($edit) {

  // We cant set username to be a required field so we check here if it is empty
  if (empty($edit['name'])) {
    drupal_set_message(t('Unrecognized user name and/or password.'), 'error');
    _securesite_dialog(securesite_type_get());
  }
  $users = user_load_multiple(array(), array(
    'name' => $edit['name'],
    'status' => 1,
  ));
  $account = reset($users);
  if (empty($account->uid)) {

    // Not a registered user.
    // If we have correct LDAP credentials, register this new user.
    if (module_exists('ldapauth') && _ldapauth_auth($edit['name'], $edit['pass'], TRUE) !== FALSE) {
      $users = user_load_multiple(array(), array(
        'name' => $edit['name'],
        'status' => 1,
      ));
      $account = reset($users);

      // System should be setup correctly now, perform log-in.
      _securesite_user_login($edit, $account);
    }
    else {

      // See if we have guest user credentials.
      _securesite_guest_login($edit);
    }
  }
  else {
    require_once DRUPAL_ROOT . '/' . variable_get('password_inc', 'includes/password.inc');
    if (user_check_password($edit['pass'], $account) || module_exists('ldapauth') && _ldapauth_auth($edit['name'], $edit['pass']) !== FALSE) {

      // Password is correct. Perform log-in.
      _securesite_user_login($edit, $account);
    }
    else {

      // Request credentials using most secure authentication method.
      watchdog('user', 'Log-in attempt failed for %user.', array(
        '%user' => $edit['name'],
      ));
      drupal_set_message(t('Unrecognized user name and/or password.'), 'error');
      _securesite_dialog(securesite_type_get());
    }
  }
}