protected function saveRoleSelection()
 {
     $rule = new ilShibbolethRoleAssignmentRule($_SESSION['shib_role_ass']['rule_id']);
     $rule->setRoleId((int) $_POST['role_id']);
     $rule->setName($_SESSION['shib_role_ass']['name']);
     $rule->setValue($_SESSION['shib_role_ass']['value']);
     $rule->enablePlugin($_SESSION['shib_role_ass']['plugin']);
     $rule->setPluginId($_SESSION['shib_role_ass']['plugin_id']);
     $rule->enableAddOnUpdate($_SESSION['shib_role_ass']['add_on_update']);
     $rule->enableRemoveOnUpdate($_SESSION['shib_role_ass']['remove_on_update']);
     if ($rule->getRuleId()) {
         $rule->update();
     } else {
         $rule->add();
     }
     ilUtil::sendSuccess($this->lng->txt('settings_saved'));
     unset($_SESSION['shib_role_ass']);
     $this->roleAssignment();
 }