30     public static function getAllRules(): array
    33         $db = $DIC->database();
    38         $query = 
"SELECT rule_id FROM shib_role_assignment ORDER BY rule_id";
    39         $res = $db->query($query);
    50         $db = $DIC->database();
    51         $query = 
"SELECT COUNT(*) num FROM shib_role_assignment ";
    52         $res = $db->query($query);
    54         return (
int) ($row->num ?? 0);
    60         $db = $DIC->database();
    61         $rbac_admin = $DIC->rbac()->admin();
    62         $rbac_review = $DIC->rbac()->review();
    63         $logger = $DIC->logger()->root();
    64         $query = 
"SELECT rule_id,add_on_update,remove_on_update FROM shib_role_assignment " . 
"WHERE add_on_update = 1 OR remove_on_update = 1";
    65         $res = $db->query($query);
    69             if ($row->add_on_update && $rule->doesMatch($a_data)) {
    71                 $rbac_admin->assignUser($rule->getRoleId(), $a_usr_id);
    73             if ($row->remove_on_update && !$rule->doesMatch($a_data)) {
    75                 $rbac_admin->deassignUser($rule->getRoleId(), $a_usr_id);
    79         if (!array_intersect($rbac_review->assignedRoles($a_usr_id), $rbac_review->getGlobalRoles())) {
    81             $default_role = $settings->getDefaultRole();
    83             $rbac_admin->assignUser($default_role, $a_usr_id);
    89     public static function doAssignments(
int $a_usr_id, array $a_data): bool
    92         $db = $DIC->database();
    93         $rbac_admin = $DIC->rbac()->admin();
    94         $logger = $DIC->logger()->root();
    95         $query = 
"SELECT rule_id,add_on_update FROM shib_role_assignment WHERE add_on_update = 1";
    97         $res = $db->query($query);
   100             if ($rule->doesMatch($a_data)) {
   103                 $rbac_admin->assignUser($rule->getRoleId(), $a_usr_id);
   107         if ($num_matches === 0) {
   109             $default_role = $settings->getDefaultRole();
   111             $rbac_admin->assignUser($default_role, $a_usr_id);
   117     public static function callPlugin(
string $a_plugin_id, array $a_user_data): bool
   120         foreach ($DIC[
'component.factory']->getActivePluginsInSlot(
'shibhk') as 
$plugin) {
   121             if ($plugin->checkRoleAssignment($a_plugin_id, $a_user_data)) {
 
static doAssignments(int $a_usr_id, array $a_data)
 
Shibboleth role assignment rules. 
 
static callPlugin(string $a_plugin_id, array $a_user_data)
 
static _lookupTitle(int $obj_id)
 
static updateAssignments(int $a_usr_id, array $a_data)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Shibboleth role assignment rule.