안녕하세요.. 처음 LDAP 사용해봅니다.. 참 좋은 기능인거 같아요..
전.. java 뿐이 안해봐서.... DB 에서 관리 하는게 아닌게 참 새롭게 다가오네요..
이제 질문을 할께요.. 이것때문에 죽을꺼 같아요 ㅜㅜ
서버 환경은 window 2008 입니다.
ldap 는 2003버전으로 설정되어 있고요..
현재 생성과 검색 수정 등등은 잘 되는데요...
유저를 생성할때 userAccountControl 을 66048 으로 설정 할 수가 없습니다.
에러는 => LDAP: error code 53 - 0000052D: SvcErr: DSID-031A120C, problem 5003 (WILL_NOT_PERFORM), data 0 <= 이라고 나옵니다.
Attribute 는
matchAttrs.put(new BasicAttribute("cn", "usercode") );
matchAttrs.put(new BasicAttribute("sn", "usercode") );
matchAttrs.put(new BasicAttribute("name", "username") );
matchAttrs.put(new BasicAttribute("givenName", "username") );
matchAttrs.put(new BasicAttribute("SamAccountName", "usercode") );
matchAttrs.put(new BasicAttribute("displayName", "username") );
matchAttrs.put(new BasicAttribute("userPrincipalName", "username") );
matchAttrs.put(new BasicAttribute("distinguishedName","distin" ) );
matchAttrs.put(new BasicAttribute("description", "desc") );
matchAttrs.put(new BasicAttribute("objectClass", "top") );
matchAttrs.put(new BasicAttribute("objectClass", "person") );
matchAttrs.put(new BasicAttribute("objectClass", "organizationalPerson") );
matchAttrs.put(new BasicAttribute("objectClass", "user") );
matchAttrs.put(new BasicAttribute("userPassword", "password"));
matchAttrs.put(new BasicAttribute("userAccountcontrol", "66048")); <= 이부분이 현재 오류 입니다. 66080 으로 하면 정상적 사용자가 생성되고 있어요...
이정도 입력 하고 있습니다.
이 부분에서 서버엔 SSL 통신은 따로 하고 있지 않습니다.
제가 사용한 것은
java 에서 기본적으로 제공하는 java.naming.directory.DirContext = InitialDirContext 구현해서 사용하고 있습니다.
javax.naming.ldap.LdapContext 를 사용해도 동일한 증상입니다.
보안모드? 인 SSL( port : 636 ) 통신을 이용하지 않고 그냥 389 포트 통신만을 이용하여 등록할 수 있을까요???
PS : 현재 asp 는 정상적으로 생성 및 로그인이 되고 있습니다.
콘솔? 스크립트? 명령으로 도 정상적으로 작동이 되고 있다고 하네요... |