Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    0.9.9-2 LDAP Groupsync

    Scheduled Pinned Locked Moved Entwicklung
    1 Posts 1 Posters 1.0k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      hgilch
      last edited by

      Hallo,

      das LDAP-Modul behauptet zwar, einen Group Sync vorzunehmen, aber in Wirklichkeit werden nur die LDAP-Gruppen hinzugefügt. Wenn man nun im LDAP wieder Gruppen wegnimmt, so bleiben trotzdem noch alle Rechte. Ich habe daher noch einen Quick Hack geschrieben (ich habe wenig Ahnung von PHP), der zuerst alle Gruppen wegnimmt und dann die aus LDAP wieder hinzufügt.
      Man kann das sicher eleganter machen (nur die wegnehmen, die nicht im LDAP gefunden werden etc.), aber es funktioniert 🙂

      Der ganze Patch mit meinem SLES-Gruppen-Patch von gestern (http://www.i-doit.org/forum/index.php/topic,1582.0.html😞

      
      atlas:/srv/www/htdocs/idoit/src/classes/modules # diff isys_module_ldap.class.php.orig isys_module_ldap.class.php
      187c187,195
      <
      ---
      >                       $l_groups = $p_user_dao->get_groups_by_id($p_user_id);
      >                       if (is_object ($l_groups)) {
      >                               $this->debug("Found " . $l_groups->num_rows() . " groups for user " . $p_user_id);
      >                               while ($group_id = $l_groups->get_row()) {
      >
      >                                       $p_user_dao->detach_group($p_user_id, $group_id["isys_group__id"]);
      >                                       $this->debug("deattached user $p_user_id from group " . $group_id["isys_group__title"]);
      >                                       }
      >                               }
      246c254
      <                                                       if ($l_ldap["isys_ldap_directiry__const"] == "C__LDAP__OPENLDAP") {
      ---
      >                                                       if ($l_ldap["isys_ldap_directory__const"] == "C__LDAP__OPENLDAP") {
      288c296
      <                                                               if ($l_ldap["isys_ldap_directiry__const"] == "C__LDAP__OPENLDAP") {
      ---
      >                                                               if ($l_ldap["isys_ldap_directory__const"] == "C__LDAP__OPENLDAP") {
      380c388
      <                                       $l_ldapi->set_search_path($p_found_user["ldap_data"]["isys_ldap__user_search"]);
      ---
      >                                       $l_ldapi->set_search_path("OU=group,DC=domain,DC=int");
      385c393
      <                                                                                                                               "(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user[C__LDAP_MAPPING__USERNAME].")",
      ---
      >                                                                                                                               "(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user["dn"].")",
      392c400
      <                                                                               " (Filter: "."(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user[C__LDAP_MAPPING__USERNAME].")".
      ---
      >                                                                               " (Filter: "."(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user["dn"].")".
      402,405c410,413
      <                                                                       if ($l_single_group["uid"][0]) {
      <                                                                               $l_group_name = $l_single_group["uid"][0];
      <                                                                       } else if ($l_single_group["uid"]) {
      <                                                                               $l_group_name = $l_single_group["uid"];
      ---
      >                                                                       if ($l_single_group["cn"][0]) {
      >                                                                               $l_group_name = $l_single_group["cn"][0];
      >                                                                       } else if ($l_single_group["cn"]) {
      >                                                                               $l_group_name = $l_single_group["cn"];
      412a421
      >                                                               $this->debug("Group name: $l_group_name");
      
      

      Hubert

      1 Reply Last reply Reply Quote 0
      • First post
        Last post