Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. hgilch
    H
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 3
    • Groups 0

    hgilch

    @hgilch

    0
    Reputation
    56
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Age 24

    hgilch Unfollow Follow

    Latest posts made by hgilch

    • 0.9.9-2 LDAP Groupsync

      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

      posted in Entwicklung
      H
      hgilch
    • 0.9.9-2 LDAP und SLES

      Hi,

      nach dem ich den Tippfehler in src/classes/modules/isys_module_ldap.class.php (http://www.i-doit.org/forum/index.php/topic,1461.0.html) behoben hatte, konnte ich mich zwar über LDAP anmelden, aber die Gruppen wurden nicht gefunden, weil diese nicht in den User-Account-Informationen gespeichert ist, was vom LDAP-Modul vorausgesetzt wurde.

      Daher habe ich die Gruppensuche verändert, damit in einem anderen Pfad gesucht wird, nämlich "OU=group, DC=domain, DC=…" anstatt des konfigurierten User-Suchstrings. Als Filter benötigt man ein "member=<user-dn>" und der Gruppenname ist dann der cn der Gruppe.

      Folgende Änderungen habe ich vorgenommen:

      
      246c246
      <                                                       if ($l_ldap["isys_ldap_directory__const"] == "C__LDAP__OPENLDAP") {
      ---
      >                                                       if ($l_ldap["isys_ldap_directiry__const"] == "C__LDAP__OPENLDAP") {
      288c288
      <                                                               if ($l_ldap["isys_ldap_directory__const"] == "C__LDAP__OPENLDAP") {
      ---
      >                                                               if ($l_ldap["isys_ldap_directiry__const"] == "C__LDAP__OPENLDAP") {
      380c380
      <                                       $l_ldapi->set_search_path("OU=group,DC=domain,DC=int");
      ---
      >                                       $l_ldapi->set_search_path($p_found_user["ldap_data"]["isys_ldap__user_search"]);
      385c385
      <                                                                                                                               "(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user["dn"].")",
      ---
      >                                                                                                                               "(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user[C__LDAP_MAPPING__USERNAME].")",
      392c392
      <                                                                               " (Filter: "."(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user["dn"].")".
      ---
      >                                                                               " (Filter: "."(".$l_mapping[C__LDAP_MAPPING__GROUP]."=".$p_found_user[C__LDAP_MAPPING__USERNAME].")".
      402,405c402,405
      <                                                                       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"];
      ---
      >                                                                       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"];
      413d412
      <                                                               $this->debug("Group name: $l_group_name");
      
      

      Schön wäre es, wenn man die Gruppensuche in der LDAP-Konfigurationsmaske genauso konfigurieren könnte wie die Usersuche, dann wären denke ich alle Möglichkeiten erschlagen.

      Hubert</user-dn>

      posted in Entwicklung
      H
      hgilch
    • RE: LDAP funktioniert nicht. *** Auth failed

      Zur Info: ich habe den Fehler zweimal gefunden: in Zeile 246 und in Zeile 288 (Version 0.9.9-2)

      Hubert

      posted in Betrieb
      H
      hgilch