php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.02.2005, 13:28  
Gast
 
Beiträge: n/a
Standard LDAP_ADD Problemchen

HI
ich hab ein kleines Script geschrieben um von einem client auf einem Linux Server eine LDAP Gruppe zu adden.

Code:
$ldapuser = "cn=xxx,dc=idealx,dc=org";
$ldappasswd = "xxx";
$connecttoldap = ldap_connect("xxx.xxx.xxx.xxx"); 
if ($connecttoldap)
{
  $ldapbind = ldap_bind($connecttoldap, $ldapuser, $ldappasswd); 
  $search = ldap_search($connecttoldap, "ou=Users, dc=idealx, dc=org", "uid=*");
  $useranzahl = ldap_count_entries($connecttoldap,$search);
  $info = ldap_get_entries($connecttoldap,$search);
  if ($_POST['submit'])
  {
      $searchgroups = ldap_search($connecttoldap, "cn=".$_POST['projektname'].", ou=groups, dc=idealx, dc=org", "memberUid=*");
      $nullcheck = ldap_count_entries($connecttoldap,$searchgroups);
      if ($nullcheck == "") // prüfung ob gruppe vorhanden ist
      {
        $repospfad = "/home/svn/".$_POST['projektname'];
        exec ("svnadmin create ".$repospfad);    // Erstellen des Subversion repositorys
        $info["cn"]="test";
        $info["objectclass"][0]="posixGroup";
        $info["objectclass"][1]="sambaGroupMapping";
        $addgroup = ldap_add($connecttoldap, "ou=groups, dc=idealx, dc=org", $info);
das ganze funktioniert auch alles so bis halt auf das ldap_add

weiß vielleicht einer rat?

Vielen Dank schonmal an die, die Helfen können
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.02.2005, 13:51  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Der erste Rat:
Die Funktionen ldap_errno() und ldap_error() verwenden und die daraus resultierenden Informationen zum aufgetretenen Fehler posten.
carrib ist offline  
Alt 21.02.2005, 14:00  
Gast
 
Beiträge: n/a
Standard

öhm ups
sorry hat ich ganz vergessen zu posten

Object class violation

das die meldung
 
Alt 21.02.2005, 14:13  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Vorweg: Die Funktion ldap_count_entries() liefert FALSE im Fehlerfall, oder die Anzahl der gefunden Einträge (int). Demnach ist ein String-Vergleich mit
Code:
if ($nullcheck == "")
nicht sinnig. Funktioniert zwar, aber es verwirrt beim Lesen.

Es kann mehrere Ursachen für diesen Fehler geben.
Zitat:
Zitat von PHP Manual - ldap_error()
Während LDAP Fehlernummern standardisiert sind, liefern unterschiedliche Bibliotheken unterschiedliche oder sogar lokalspezifische Fehlermeldungen. Deshalb sollten Sie nie auf eine spezielle Fehlermeldung prüfen, sondern immer eine Fehlernummer verwenden.
Poste bitte mal die Fehlernummer, vielleicht läßt sich hiedurch die genaue Ursache bestimmen.
carrib ist offline  
Alt 21.02.2005, 14:25  
Gast
 
Beiträge: n/a
Standard

also ich habe jetzt eine komplett neue datei zum testen gemacht.
wo nur die entscheidenen Sachen drin stehen
die schaut so aus.

Code:
<?php
$ldapuser = "cn=xxx, dc=idealx, dc=org";
$ldappasswd = "xxx";
$connecttoldap = ldap_connect("xxx.xxx.xxx.xxx"); 
$ldapbind = ldap_bind($connecttoldap, $ldapuser, $ldappasswd); 

$info['cn']="test";
$info['objectClass'][0]="sambaGroupMapping";
$info['objectClass'][1]="posixGroup";

$daten = "cn=test, ou=Groups, dc=idealx, dc=org";

$addgroup = ldap_add($connecttoldap, $daten , $info);

if ($addgroup)
{
  echo "sollte klappen
";
}
else
{
  $error = ldap_error($connecttoldap);
  $errno = ldap_errno($connecttoldap);
  echo "Error is -> $error number $errno";
}
ldap_close($connecttoldap);
?>
die fehlermeldnung die dabei raus kommt ist folgende:
Code:
Error is -> Object class violation number 65
 
Alt 21.02.2005, 14:55  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Zum LDAP-Fehler 65:
Zitat:
Zitat von LDAP Error Codes
LDAP_OBJECT_CLASS_VIOLATION: Indicates that the add, modify, or modify DN operation violates the object class rules for the entry. For example, the following types of request return this error:

The add or modify operation tries to add an entry without a value for a required attribute.
The add or modify operation tries to add an entry with a value for an attribute which the class definition does not contain.
The modify operation tries to remove a required attribute without removing the auxiliary class that defines the attribute as required.
Die Ursache für die Fehlermeldung ist eine Regelverletzung. Lautet die Definition der Objectclass:
Code:
objectclass ( 1.3.6.1.4.1.7165.2.2.4 NAME 'sambaGroupMapping' SUP top AUXILIARY        
DESC 'Samba Group Mapping'        
MUST ( gidNumber $ sambaSID $ sambaGroupType )        
MAY  ( displayName $ description ))
sind die Attribute gidNumber, sambaSID und sambaGroupType erforderlich. Bei posixGroup ist das Attribut gidNumber erforderlich.
carrib ist offline  
Alt 21.02.2005, 15:00  
Gast
 
Beiträge: n/a
Standard

öh??
wie jetzt?
da steig ich gerade gar nich durch
 
Alt 21.02.2005, 15:14  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Die verwendeten Objektklassen sambaGroupMapping und posixGroup benötigen entsprechend Ihrer Definition bestimmte Attribute (MUST).

Um es zu vereinfachen, ein LDAP Eintrag mit der Objectclass posixGroup benötigt das Pflichtattribut gidNumber und muss demnach dem folgenden Beispiel entsprechen:
Code:
dn: cn=xxx, o=smb, dc=idealx, dc=org
objectClass: posixGroup
gidNumber: 99
cn: xxx
Schau mal unter http://www.unav.es/cti/smb-ldap-3-howto.html nach.
carrib ist offline  
Alt 21.02.2005, 15:26  
Gast
 
Beiträge: n/a
Standard

ööhhm
aber ich habe doch mit samba nix am hut
ich will bei samba nix machen
die ganze autorisierung läuft über den ldap krams
oder versteh ich dich irgendwie falsch?
hab auch noch nie was in der richtung gemacht :/
und von linux hab ich eh fast null plan *g*
 
Alt 22.02.2005, 09:32  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Du musst einfach den Pflichtattributen die entsprechenden Werte zuweisen.

Beispielweise für die Objectclass posixGroup:
Code:
$info['cn']="test"; 
$info['objectClass'][0]="posixGroup"; 
$info['gidNumber'] = (int) $gruppen_id;
Bei der Objectclass sambaGroupMapping sind die Pflichtattribute ebenfalls zu füllen:
Code:
$info['objectClass'][1]="sambaGroupMapping"; 
$info['gidNumber'] = (int) $gruppen_id;
$info['sambaSID'] = $samba_sid;
$info['sambaGroupType'] = $samba_gruppe;
Also zusammengefasst:
Code:
$info['cn']="test"; 
$info['objectClass'][0]="posixGroup";
$info['objectClass'][1]="sambaGroupMapping"; 
$info['gidNumber'] = (int) $gruppen_id;
$info['sambaSID'] = $samba_sid;
$info['sambaGroupType'] = $samba_gruppe;
Die erforderlichen Werte für sambaSID und sambaGroupType musst Du beim Administrator erfragen, der diese Gruppen einrichtet.

Versuch es zum Test einfach mal mit:
Code:
$info['cn']="test"; 
$info['objectClass'][0]="posixGroup";
$info['objectClass'][1]="sambaGroupMapping"; 
$info['gidNumber'] = 512;
$info['sambaSID'] = 'S-1-5-21-2547222302-1596225915-2414751004-512';
$info['sambaGroupType'] = 2;
carrib ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP+MYSQL+IF-Abfrage Problemchen... Te7Ris PHP Tipps 2008 22 19.05.2008 17:47
folgendes problemchen havanna PHP Tipps 2008 7 09.01.2008 13:59
Bildtechnisches Problemchen Kann gelöscht werden PHP Tipps 2007 11 20.11.2005 21:46
Komisches Problemchen PHP Tipps 2005-2 15 19.09.2005 16:34
Komisches Problemchen mit Tabelle in Html und PHP PHP Tipps 2005-2 5 21.06.2005 14:29
Dateiupload Problemchen PHP Tipps 2005 2 31.01.2005 17:13
ereg_replace Problemchen [simpel!] PHP Tipps 2005 12 21.01.2005 02:23
mysql_query ORDER BY - Problemchen Magic PHP Tipps 2005 3 20.01.2005 07:13
wieder ein DIV problemchen HTML, Usability und Barrierefreiheit 6 15.12.2004 15:20
[Erledigt] Kleines Mozilla Problemchen Off-Topic Diskussionen 5 05.10.2004 13:59
problemchen PHP Tipps 2004 5 13.07.2004 22:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ldap_add object class violation 65, ldap_add: object class violation (65), das attribut cn wird von ihrem ldap-server nicht für die objektklasse(n) posixgroup unterstützt., php ldap_add object class violation, ldap error 65, ldap_add object class violation 65, ldap_object_class_violation, \das attribut cn wird von ihrem ldap-server nicht für die objektklasse(n) posixgroup unterstützt.\, das attribut cn wird von ihrem ldap-server nicht für die objektklasse(n) posixgroup unterstützt, \das attribut cn wird von ihrem ldap-server nicht für die objektklasse(n) posixgroup unterstützt\, sambagrouptype, ldap error 65 object class violation, php ldap_add, ldap: error code 65, ldap error code 65, ldap sambagroupmapping posixgroup, ldap: error code 65 - object class violation, ldappasswd object class violation (65), jxplorer create posixgroup, das attribut cn wird von ihrem ldap-server nicht für die objektklasse posixgroup unterstützt. sles

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.