LDAP�v���O���~���O�̊�{�F�f�B���N�g���T�[�r�X�̎d�g�݂Ɗ��p�i6�j

» 2000�N11��15�� 00��00�� ���J
[������C��IT]

�@�O�񂨘b�������悤�ɁA�{�L���ł�Netscape Directory SDK�����グ�邱�Ƃɂ��܂��B����Ƃ��ẮA�}���`�v���b�g�t�H�[����ڎw�����Ƃɂ��āAJava���g���Ă݂܂��B�uJava�͂悭������Ȃ��v�Ƃ������������Ǝv���܂����A�v���O���~���O�̌o����������΍Œ�������͕�����悤�ɁA�ł�������������Ă����܂��B

�@���ۂɎ����Ă݂�������Netscape�̃T�C�g����uNetscape Directory SDK 4.0 for Java�v���_�E�����[�h���ăC���X�g�[�����Ă݂Ă��������B�܂��AJDK�iJava Development Kit�j1.1�ȍ~���K�v�ł��B�Z�b�g�A�b�v�菇�̓����[�X�m�[�g�ɂ��L�ڂ���Ă��܂����A�uCLASSPATH�v�‹��ϐ��ɁA�C���X�g�[���f�B���N�g�������́upackages�v�f�B���N�g���ɂ���u�`.jar�v�t�@�C�����܂܂��悤�ɂ���΁A�R���p�C���A���s�Ƃ��s����悤�ɂȂ�܂��B

LDAP�A�N�Z�X�̊�{

�@LDAP�A�N�Z�X�̕��@��RFC2251�ŏڂ����K�肳��Ă��܂��B�֘A�d�l���܂߂�LDAP�̎d�l��API�d�l�ƌ����Ă��������炢���ߍׂ����ėp�I�Ɏd�オ���Ă��܂��B�Ƃ͂����A�����ǂ݂��Ȃ��ɂ́i�p���ł���Ƃ����_���܂߁j���X�����܂�邱�Ƃł��傤�B�ȉ��ŁANetscape Directory SDK�����LDAP API�̍\���v�f�𐮗����Ă݂܂��B

�@LDAP API��p����΁ALDAP�f�B���N�g���Ɏ��̂悤�ȑ�����s�����Ƃ��ł��܂��B

  • Connect/Disconnect�i�ڑ��^�ؒf�j
  • Search�i�����j
  • Add�i�lj��j
  • Modify�i�ύX�j
  • Delete�i�폜�j

�@�Ȃ�

�@����̊�{�̓G���g���ɑ΂���A�N�Z�X�ł��B�G���g���̏������w�肵�Č������A�G���g���̃A�g���r���[�g���擾������A�t�ɃA�g���r���[�g��g�ݗ��ĂăG���g����o�^������ł��܂��B

�@Netscape Directory SDK for Java�ł��A�����̑���ɑΉ�����API�N���X���p�ӂ���Ă��܂��B�N���X�Ƃ�API��ϐ��̃J�e�S���̂悤�Ȃ��̂Ǝv���Ă��������B�p�r�ʂɂ����‚��ɕ��ނ���܂��B��Ȃ��̂��Љ�܂��傤�B

�ELDAPConnection

�@���ׂĂ̑���̊�{�ƂȂ�N���X�ł��BLDAP�T�[�o�Ƃ̐ڑ��Ɛؒf�i�����ɂ�bind�Aunbind�ƌĂ΂�܂��j�A���̌��Search��Add�AModify�Ȃǂ̑�������ׂĂ��̃N���X����s���܂��B

�ELDAPEntry

�@�u�G���g���v�������N���X�ł��B�������ɂ́A�������ʂ�����LDAPEntry�Ɋi�[����āALDAPConnection����n����Ă��܂��B

�ELDAPAttributeSet

�ELDAPAttribute

�@�u�A�g���r���[�g�v�������܂��BLDAPEntry�ɂ��܂܂�܂��BLDAPAttributeSet�͕����̃A�g���r���[�g�̏W���ł��B�z��܂��̓��X�g�ɂȂ��Ă��܂��B���̒���LDAPAttribute�Ƃ������ۂ̃A�g���r���[�g�������i�[����Ă��܂��BLDAPAttribute�ɂ̓A�g���r���[�g���ƃA�g���r���[�g�l���i�[����Ă��܂��B�A�g���r���[�g�l���z�񉻂���Ă���ꍇ������܂��B

�ELDAPSearchResults

�@�u�������ʁv�ł��B�Y������LDAPEntry�𕡐��܂݂܂��B

�ELDAPModificationSet

�@�G���g����Add�AModify���Ɏg�p���܂��BLDAPAttributeSet�ɒlj�������ύX����f�[�^���Z�b�g���A����LDAPAttributeSet��LDAPModificationSet�Ɋi�[���AAdd�AModify���s���܂��B

�����v���O�����𒭂߂Ă݂悤

�@�ł́A�ȒP�Ȍ����̃T���v���𒭂߂Ă݂܂��傤�B

/**
     LDAP Search Sample
             for Netscape Directory SDK 4.0

         Using: ldapSearch host username password filter

**/
import netscape.ldap.*;
import java.util.*;

public class ldapSearch {
     public static void main(String[] args) {

        LDAPConnection ld = null;
        LDAPEntry findEntry = null;
        LDAPSearchResults res;

        try {
            ld = new LDAPConnection(); // <--------------------- (2)

            String host = args[0];  //
            int port = 389;         // <------------------- (3)
            String buser = args[1]; //
            String bpass = args[2]; //

            ld.connect( host, port ,buser ,bpass); // <-------------- (1)

            String BaseDN = "o=ABC-Syouji, c=JP";           //
            int scope = LDAPConnection.SCOPE_SUB;           // <----- (5)
            String Filter = args[3];                    //
            String Attlib[] = {"DN", "cn;lang-ja", "mail"}; //
            boolean typesOnly = false;

            res = ld.search(BaseDN,     // (a)
                    scope,              // (b)
                    Filter,             // (c) <--------------------- (4)
                    Attlib,             // (d)
                    typesOnly );        // (e)

            while ( res.hasMoreElements() ) {       // <----------- (6)

                try {
                    findEntry = res.next();     // <---------------- (7)
                } catch ( LDAPException e ) {
                    System.out.println( ">>>Error: " + e.toString() );
                    continue;
                }

                System.out.println("DN: " + findEntry.getDN() );  // <---------- (8)

                LDAPAttributeSet findAttrs = findEntry.getAttributeSet();       //
                Enumeration enumAttrs = findAttrs.getAttributes();              // <- (9)

                while ( enumAttrs.hasMoreElements() ) {    // <--------------- (10)

/*            */    LDAPAttribute anAttr = (LDAPAttribute)enumAttrs.nextElement();
/*  (11) -->  */    String attrName = anAttr.getName();
/*            */    System.out.print("\t" + attrName + ": ");

/*            */    Enumeration enumVals = anAttr.getStringValues();
/*            */    if (enumVals != null) {
/*  (12) -->  */        while ( enumVals.hasMoreElements() ) {
/*            */            String aVal = (String)enumVals.nextElement();
/*            */            System.out.println(aVal);
/*            */       }
                    }
                }
            }

        } catch( LDAPException e ) {
            System.out.println( ">>>Error: " + e.toString() );
        }

        if ( (ld != null) && ld.isConnected() ) {
            try {
                ld.disconnect();                    // <------- (13)
            } catch ( LDAPException e ) {
                System.out.println( ">>>Error: " + e.toString() );
            }
        }

    }

}
���X�g1�@�����v���O�����̃T���v���R�[�h�i�������N���b�N����ƕʂ̃E�B���h�E�Ń��X�g��\�����܂��j

�@�����Directory SDK 4.0�ɕt������T���v�������������ȒP�ɂ����R�[�h��ł��B���ɐ������܂��B���C�u�����錾�A�G���[�n���h�����O�Ȃ�Java�̕��@�ɂ������Ƃ���͏Ȃ��Đ������܂��i����g�p�����T���v���R�[�h�́A����������_�E�����[�h�ł��܂��j�B

�@���̃v���O�����́A�R�}���h���C��������s���Č������s���v���O�����ł��iJava�A�v���b�g�ł͂���܂���j�B

ldapSearch [�T�[�o��] [���O�C�����[�U�[] [�p�X���[�h] [���������iFilter�j]


�ƈ������w�肵�Ď��s���܂��B

�@�܂�(1)��LDAP�T�[�o�ւ̐ڑ����������Ƃ͗������Ă��炦��ł��傤�Bld�Ƃ����̂�(2)�Œ�`����Ă���LDAPConnection�N���X�̂��Ƃł��B

�@�ڑ��̂��߂̃p�����[�^��(3)�Œ�`����Ă��܂��BLDAP�T�[�o���A�|�[�g�ԍ��A���O�C�����[�U�[���A�p�X���[�h�ł��B���O�C�����郆�[�U�[����DN�Ŏw�肷��̂���ʓI�ł����A�Z�k���iuid�j�ƌĂ΂��ȗ��������O���g�p���邱�Ƃ��ł��܂��B�Z�k�����g�p�ł��邩�ǂ����̓T�[�o�[�̐ݒ�ɂ����܂��B�܂��A�����ł͎����Ă��܂��񂪁AAnonymous�i�����j���[�U�[�Ƃ��ă��O�C�����邱�Ƃ��ł��܂��BAnonymous���[�U�[�ł͌����͂Ƃ������ύX�Ȃǂ͂ł��Ȃ��悤�ɐݒ肳��Ă��邱�Ƃ������ł��傤�B

�@�����Đڑ���A(4)��Search�����s���Ă��܂��B�����LDAPConnection�N���X��ʂ��čs���Ă���̂�������܂��B

�@�����Œ��ӂ������̂́ASearch�̈����ł��B�����͌��������������Ă��܂��BLDAP�̑傫�ȓ����ł�����܂��̂ŁA�����ڂ����������Ă݂܂��傤�B

�EBaseDN�i�����x�[�X�j

�@����܂ł��o�ꂵ�Ă��܂����B�����̊J�n�ʒu������DN�ł��B�f�B���N�g���c���[�\���̂����ABaseDN�Ŏ����ꂽ�G���g���ȉ��������̑ΏۂƂȂ�܂��B���̗�ł́uo=ABC-Syouji, c=JP�v�ȉ����Ώۂł��B

�EScope�i�X�R�[�v�j

�@��������K�w���x���͈̔͂̎w��ł��B����3��ނ���`����Ă��܂��B

�E BASE�iSDK�ł�SCOPE_BASE�j

�@�w�肵��BaseDN�̂݌����Ώۂɂ��܂��B�Ⴆ�΃T���v���̗�ł́A�uo=ABC-Syouji, c=JP�v�݂̂��ΏۂƂȂ�܂��B�����������Ώ�DN�����炩�ȏꍇ�Ɏw�肵�܂��B

�E ONELEVEL�iSCOPE_ONE�j

�@BaseDN������1���x���݂̂������̑Ώۂɂ��܂��B

�E SUBTREE�iSCOPE_SUB�j

�@BaseDN���g���܂߂��ABaseDN�ȉ��ɂԂ牺���邷�ׂẴ��x���i�T�u�c���[�j�������̑Ώۂɂ��܂��B

�@���̗�ł�SCOPE_SUB���w�肵�Ă��܂��̂ŁABaseDN�ȉ����ׂĂ��ΏۂɂȂ�܂��B

�EFilter�i�t�B���^�j

�@�����錟�������ƍl���Ă悢�ł��傤�B������RFC2254�ɒ�`����Ă��܂����A�����Ȃ��݂ɂ��������邩������܂���B

�@�Ⴆ�΁u���isn�j���wTanaka�x�Ń��P�[�V�����il�j���wTokyo�x�v�̃G���g������������ɂ�

(&(sn=Tanaka)(l=Tokyo))

�Ǝw�肵�܂��B( )���]���̏����������Ă��܂��B&�i�A���p�T���h�j��AND�����������A���ɑ����isn=Tanaka�j�Ɓil=Tokyo�j���Ƃ��ɖ������Ȃ��Ă͂Ȃ�Ȃ����Ƃ�\���Ă��܂��B|�i�c�_�j��OR�������A! �i�G�N�X�g�����[�V�����}�[�N�j��NOT������\���܂��B

�@����1�—�������܂��傤�B

(&(l=Tokyo)(|(sn=Tanaka)(sn=Suzuki)))

�@����́u���P�[�V�������wTokyo�x�ŁAsn���wTanaka�x���wSuzuki�x�v�̃G���g���[�������܂��B�������P���Ɂusn=Tanaka�v�Ƃ��������̃V���v���ȏ����ł��\���܂���B

�@�܂��A*�i�A�X�^���X�N�j�őO���u���A����u�����s���܂��B

cn=Taro*

��cn�i�ʏ�͎����j��Taro�Ŏn�܂�G���g���[�������܂��B

�EAttribute

�@�擾����A�g���r���[�g�����w�肵�܂��B�X�Ɏw�肷��̂ł͂Ȃ��A�w�肹���ɑ��݂��邷�ׂẴA�g���r���[�g���擾���邱�Ƃ��”\�ł��B

�EtypesOnly

�@�A�g���r���[�g�l���擾����̂��A����Ƃ��A�g���r���[�g���̂ݎ擾����̂����w�肵�܂��B�^�U�l�iboolean�B�uTrue�v���uFalse�v���Ŏw�肷��j�Ŏw�肵�ATrue�ł���΃A�g���r���[�g���݂̂̎擾�ƂȂ�AFalse�ł���΃A�g���r���[�g�l���擾���܂��B

���ʂ̎擾�Ɖ�ʕ\��

�@�����܂łŎ��ۂ̌�������͂قƂ�ǏI���ł��B�������ł��傤�A�ӊO�ƊȒP�ł͂Ȃ������ł��傤���H

�@�ł́A���ɂ��̌��ʂ��擾���āA��ʂɕ\�����邱�ƂɂȂ�܂��B����������₱�����̂ł����A��^�I�ȑ���ł�����܂��̂ŁA���܂肫�����u���܂��Ȃ��v�̂悤�Ȃ��̂��ƍl���Ă��������B

(6)�@�������炵�΂炭�A���[�v����ɓ���܂��B(4)�̎��_�ŃG���g���̌������ʂ͂��łɁuLDAPSearchResults�v�ɔz��Ƃ��Ċi�[����Ă��܂��B�uhasMoreElements( )�v�Ƃ����̂́A���̔z�񂩂珇�ԂɎ��o���O�ɁA���̔z�񂪑��݂��Ă��邩�ǂ����i�Ō�̃G���g���܂ōs�����������ǂ����j���m�F���Ă��܂��B�Ō�ł���΁A���̃��[�v�𔲂��āA(13)�����s���܂��B�G���g������������́A(7)�`(12)���J��Ԃ��܂��B

(7)�@LDAPSearchResults�̌��ʔz�񂩂�A�G���g���iLDAPEntry�j��1�Ž��o���܂��B

(8)�@��ʂɂ��̃G���g����DN��\�����܂��B�ugetDN( )�v���G���g����DN�����o�����߂̃R�}���h�ł��B

(9)�@�G���g������A�g���r���[�g�Z�b�g�iLDAPAttributeSet�j�����o���܂��B�A�g���r���[�g�Z�b�g�͕����̃A�g���r���[�g���琬��z��ł��̂ŁAEnumeration�Ƃ���Java�Ŏg������̔z���`�փZ�b�g���Ă��܂��B���̃A�g���r���[�g�̏W���́A(5)�Ŏw�肵���A�g���r���[�g�ƈ�v���Ă���͂��ł��B

(10)�@���������͂胋�[�v���n�܂�܂��B(6)�Ɠ����Ȃ̂ł����A���x�̓A�g���r���[�g�Z�b�g�̂��߂̃��[�v�ł��B�A�g���r���[�g�Z�b�g����A�g���r���[�g�����o���I���ƁA���̃��[�v�𔲂����܂��B�A�g���r���[�g����������́A(11)�`(12)���J��Ԃ��܂��B

(11)�@�A�g���r���[�g�Z�b�g����A�g���r���[�g��1�Ž擾���܂��B�����Ă��̃A�g���r���[�g����\�����܂��B

(12)�@�A�g���r���[�g����A�g���r���[�g�l���擾���܂��B�������A�A�g���r���[�g�l����͂�z��̉”\��������܂��̂ŁA���[�v���g���ď��ԂɎ��o���A��ʂɒl��\�����Ă��܂��B

�@�Ō��(13)�ŃT�[�o�Ƃ̒ʐM��ؒf���āA�I���ł��B

�@����Ɏ��s�ł���ƁA��ʂɂ͎��̂悤�ɕ\�������͂��ł��B

1@TvXg̎siʂNbNƊg\܂j ���1�@�T���v�����X�g�̎��s��i��ʂ��N���b�N����Ɗg��\�����܂��j

�@�T���v���ł́ABaseDN��A�g���r���[�g�̎w��̓v���O�������Ō��ߑł��ł������A�����ɂ�����AJava�A�v���b�g�^�T�[�u���b�g�����ă��[�U�[����w��������Ȃǂ̕ύX����r�I�ȒP�ɂł���ł��傤�B

�@�܂�����͏Љ�ł��܂���ł������AAdd�AModify�ADelete�Ȃǂ̃T���v����Directory SDK�ɂ͕t�����Ă��܂��B�Ȃ��Ȃ����{��̉�����Ȃ��̂���_�ł����A�����܂ł̐������Q�l�ɂ��Ă݂Ă��������B

�y�R�����z ������ƕς�����A�g���r���[�g��

�@�A�g���r���[�g�ɂ�o��mail�Acn�ȂNJe�킠��Ƃ����b�͖{���ł����Ă��܂����B�������A�g���r���[�g���悭���Ă���ƁA�A�g���r���[�g���̌��Ɂu;�i�Z�~�R�����j�v�ł������āulang-�v��ubinary�v�Ȃǂƕ��ׂ��A�g���r���[�g������܂��B����͈�̉��Ȃ̂ł��傤�H

�@�����̓A�g���r���[�g�̒lj��������������̂ŁARFC2252��RFC2596�ȂǂŒ�`����Ă��܂��B

�@binary�͗Ⴆ�Ύ��̂悤�ɋL�q����܂��B

userCertificate;binary

���O�̒ʂ�A���̃A�g���r���[�g�̒l�̓o�C�i���l�ł��邱�Ƃ��������̂ł��B���̗��userCertificate�̓��[�U�[�ؖ����������Ă��܂��B���[�U�[�ؖ����̓e�L�X�g�f�[�^�ł͂Ȃ��o�C�i���l�ł��̂ŁABER�ƌĂ΂��G���R�[�h���{�����LDAP�T�[�o����Ԃ���Ȃ���΂Ȃ�Ȃ��̂ł��B�A�g���r���[�g���������炻�������f�R�[�h���K�v�ȃA�g���r���[�g�ł��邱�Ƃ�m�邽�߂�binary���t������Ă���A�Ƃ����킯�ł��B���[�U�[�ؖ����ȊO�ɁA�摜�f�[�^�Ȃǂ��o�C�i���Ŏ������̂����ʂł��B

�@�ulang-�v��Language�^�O�ƌĂ΂�܂��B�Ⴆ��

cn;lang-ja

�Ȃǂƒ�`����܂��B�C�t����Ă���Ǝv���܂����A����͒l�����{��ł��邱�Ƃ������Ă��܂��Bja�̕����͍��R�[�h�ƌĂ΂����̂ŁA RFC1766�A ISO639�Œ�`����Ă��܂��B

cn

cn;lang-ja

cn;lang-fr

�ƕ�����cn�i�����j������΁A�A�����J�l�́ucn�v���A���{�l�́ucn;lang-ja�v���A�t�����X�l�́ucn;lang-fr�v���擾���āA���ꂼ��̕ꍑ��ŕ\�������邱�Ƃ��ł��܂��B���Ȃ݂ɁA�lj��������܂񂾏ꍇ�ɂ́A�����܂ŁA���ꂼ��ʂ̃A�g���r���[�g���Ƃ��ė�������܂��B�v���O���~���O���Ȃǂɂ��炩���ߔz�񉻂���Ă����肷��킯�ł͂���܂���̂ŁA���ӂ��ĉ������B


�A�ڂ̍Ō��

�@�삯���ł������A����ň�ʂ�̓f�B���N�g���T�[�r�X�̈�[���C���[�W���Ă����������̂ł͂Ȃ����Ǝv���܂��B���Ȃ��Ƃ�����t���ɂ����Ƃ����悤�ȃC���[�W�������ł����@���Ă����������Ȃ�A��΂����v���܂��B

�@�f�B���N�g���Z�p��Windows2000 ActiveDirectory�̓o��������āA����PKI�ƕ���ōł��z�b�g�Ȋ�T�[�r�X�Ƃ��Ĉʒu�t������悤�ɂȂ�ł��傤�B�����ď��x��Ȃ��悤�A�F����̉�Ё^�g�D�ł̐��������F�肵�Ă��܂��B

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B