function simplesamlphp_auth_init in simpleSAMLphp Authentication 7.3
Same name and namespace in other branches
- 6.3 simplesamlphp_auth.module \simplesamlphp_auth_init()
- 6.2 simplesamlphp_auth.module \simplesamlphp_auth_init()
- 7 simplesamlphp_auth.module \simplesamlphp_auth_init()
- 7.2 simplesamlphp_auth.module \simplesamlphp_auth_init()
Implements hook_init().
If the user has logged out via SAML, log out the user in Drupal as well.
File
- ./
simplesamlphp_auth.module, line 165 - simpleSAMLphp authentication module for Drupal.
Code
function simplesamlphp_auth_init() {
if (user_is_anonymous()) {
return FALSE;
}
if (!_simplesaml_auth_autoload()) {
return FALSE;
}
global $user;
global $_simplesamlphp_auth_as;
global $_simplesamlphp_auth_saml_attributes;
// Get users that are allowed default login.
$allowed_default_login_users = variable_get('simplesamlphp_auth_allowdefaultloginusers', '');
$allowed_uids = explode(",", $allowed_default_login_users);
// Get roles that are allowed default login.
$allowed_default_login_roles = variable_get('simplesamlphp_auth_allowdefaultloginroles', array());
// Check if user is allowed default login.
$user_allowed_default_login_roles = array_intersect_key($user->roles, $allowed_default_login_roles);
if (variable_get('simplesamlphp_auth_allowdefaultlogin', TRUE) && (in_array($user->uid, $allowed_uids) || !empty($user_allowed_default_login_roles))) {
$user_allowed_default_login = TRUE;
}
// Logs out user if not SAML authenticated and not allowed default login.
if (!$_simplesamlphp_auth_as
->isAuthenticated() && !$user_allowed_default_login) {
module_load_include('pages.inc', 'user');
user_logout();
}
}