2011-04-20 4 views
4

을 나는 다음과 같은 오류가 PHP를 통해 된 OpenDS에 속성을 추가 할 때 :ldap_add() : 추가 : Object 클래스 위반 오류

ldap_add(): Add: Object class violation

이 도와주세요. 나는 그것이 잘 작동 코드에서 $ldaprecord['mmmm'] = "77878";를 제거하면

여기에 내 코드

<?php 
$ldapconfig['host'] = 'PC100'; 
$ldapconfig['port'] = 1389; 
$ldapconfig['basedn'] = 'dc=company,dc=com'; 

$ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']); 

$password=1; 
$username="cn=Directory Manager"; 

if ($bind=ldap_bind($ds, $username, $password)) { 
    echo("Login correct"); 
    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); // IMPORTANT 
    $dn = "cn=roshan1,dc=example,dc=com"; 
    //$newuser["objectclass"] = "inetOrgPerson"; 
    //$newuser["cn"] = "new1"; 
    //$newuser["sn"] = "user"; 

    $ldaprecord['cn'] = "roshan1"; 
    $ldaprecord['givenName'] = "mkljl"; 
    $ldaprecord['sn'] = "roshan"; 
    $ldaprecord['objectclass'] = "inetOrgPerson";  
    $ldaprecord['mail'] = "l[email protected]"; 
    $ldaprecord['mmmm'] = "77878"; 

    // add data to directory 
    $r = ldap_add($ds, $dn, $ldaprecord); 

} else { 

    echo("Unable to bind to server.</br>"); 

} 
?> 

입니다. 어떻게 이런 새로운 속성을 추가 할 수 있습니까? :

그래서 ... 그 top 어쩌면 person 될 것이다 - 당신은 inetOrgPersonobjectclass 설정 만하려고처럼

+1

코드를 입력하십시오. 이 오류는 설정할 속성이있는 클래스의 멤버가 아닌 개체에 일부 속성을 설정하려고 할 때 발생할 수 있습니다 ... LDAP에서 개체는이 속성이 구현 된 클래스의 memberOf 여야합니다. – shadyyx

+0

답장을 보내 주셔서 감사합니다. 내 게시물을 수정하십시오. –

답변

5

흠, 그것은 보이는,하지만 당신은 또한 inetorgPerson가 확장되는 다른 상위 클래스를 설정해야

$ldaprecord['cn'] = "roshan1"; 
$ldaprecord['givenName'] = "mkljl"; 
$ldaprecord['sn'] = "roshan"; 
$ldaprecord['objectclass'][0] = "top"; 
$ldaprecord['objectclass'][1] = "person"; 
$ldaprecord['objectclass'][2] = "inetOrgPerson"; 
$ldaprecord['mail'] = "[email protected]"; 
$ldaprecord['mmmm'] = "77878"; 
+0

문제가되지 않습니다. $ ldaprecord를 추가하면 [ 'mmmm'] = "77878"; 이 코드 줄 오류는 어떻게하면이 속성이 LDAP의 모든 클래스에서 구현되지 않았기 때문에 –

+1

과 같은 추가 특성을 추가 할 수 있는지 확인할 수 있습니다.이 속성은 inetOrgPerson의 기존 속성을 사용하려고 시도합니다. 여기를보십시오. : http://oav.net/mirrors/LDAP-ObjectClasses.html – shadyyx

+0

답장을 보내 주셔서 감사합니다 inetOrgPerson 클래스 내 자신의 속성을 만들 posibity가 –

관련 문제