여기있는 강좌를 참조해서 해봤는데, 잘 안됩니다. ㅠ.ㅠ
제가 하고 싶은 것은 특정값을 수정하는 건데요. 자세히 말씀드리자면...
디렉토리 구조는
.o=project.net
ou=Marketsite
ou=TradingPartners
ou=sscom
ou=members
ou=admin
cn=msbisdisabled
이렇게 돼있구요.(사실, o,ou,cn 이 뭔지도 모른답니다. ㅠ.ㅠ)
여기서 cn의 값이 2로 되어있는데 이것을 0으로 바꿔주고 싶거든요.
혹시 LDAP 과 연동하여 써보신 분 있으시면 답변 부탁드립니다.
감사합니다....ㅠ.ㅠ
아래는 제가 만든 소스입니다. 에러 메세지로는
"No such entry" 이것이 뜨네요...
-------------------------------------------------------------------
import netscape.ldap.*;
public class ModAttrs{
public static void main(String[] args){
String ENTRYDN = "cn=msbisdisabled, ou=admin, ou=Members, ou=sscom, ou=TradingPartners, ou=marketsite, o=project.net";
LDAPModificationSet mods = new LDAPModificationSet();
LDAPAttribute attrEmail = new LDAPAttribute( "msbisdisabled", "0" );
mods.add( LDAPModification.REPLACE, attrEmail );
LDAPConnection ld = null;
int status = -1;
try {
ld = new LDAPConnection();
/* Connect to server */
String MY_HOST = "localhost";
int MY_PORT = 389;
ld.connect( MY_HOST, MY_PORT );
/* Now modify the entry in the directory */
ld.modify( ENTRYDN, mods );
System.out.println( "Entry modified" );
}
catch( LDAPException e ) {
if ( e.getLDAPResultCode() == LDAPException.NO_SUCH_OBJECT )
System.out.println( "Error: No such entry" );
else if ( e.getLDAPResultCode() ==
LDAPException.INSUFFICIENT_ACCESS_RIGHTS )
System.out.println( "Error: Insufficient rights" );
else if ( e.getLDAPResultCode() ==
LDAPException.ATTRIBUTE_OR_VALUE_EXISTS )
System.out.println( "Error: Attribute or value exists" );
else
System.out.println( "Error: " + e.toString() );
}
/* Done, so disconnect */
if ( (ld != null) && ld.isConnected() ) {
try {
ld.disconnect();
} catch ( LDAPException e ) {
System.out.println( "Error: " + e.toString() );
}
}
System.exit(status);
}
}
|