`

oid/oim/ldap/jndi API

阅读更多

 

Reference

http://download.oracle.com/docs/cd/B15904_01/manage.1012/b14087/toc.htm

 

 


OID/OIM is an implementation of JNDI by LDAP.(Actually, it has C API to access it as well.)

 

1. Put the jar file into the class path.
   
    Oracle\Middleware\jdeveloper\modules\oracle.ldap_11.1.1\ldapjclnt11.jar

 

2. Connecting method 1

 

        import oracle.ldap.util.jndi
        import javax.naming.*;

        public static void main(String args[])
        {
          try{
               InitialDirContext ctx = ConnectionUtil.getDefaultDirCtx(args[0], // host
                                                                 args[1],  // port
                                                                 args[2],  // DN
                                                                 args[3];  // password)
               // Do work
             }
          catch(NamingException ne)
          {
            // javax.naming.NamingException is thrown when an error occurs
          }
        }

 
3. Connecting method 2

 

 

        import javax.naming.Context;
        import javax.naming.NamingException;
        import javax.naming.directory.InitialDirContext;
        
        import oracle.ldap.util.Group;
        import oracle.ldap.util.RootOracleContext;
        import oracle.ldap.util.Subscriber;
        import oracle.ldap.util.User;
        import oracle.ldap.util.Util;
        import oracle.ldap.util.UtilException;

        Hashtable<String, String> env = new Hashtable<String, String>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, contextfactory);
        //oracle.ldap.util.jndi.LDAPJSSESocketFactoryImpl.class
        //oracle.ldap.util.jndi.LDAPTLSSocketFactoryImpl.class
        env.put(Context.PROVIDER_URL, url);
        env.put(Context.SECURITY_PRINCIPAL, principal);
        env.put(Context.SECURITY_CREDENTIALS, pwd);
        env.put(Context.SECURITY_AUTHENTICATION, "simple");

        InitialDirContext ctx = new InitialDirContext(env);
        RootOracleContext roc = new RootOracleContext(ctx);
        Subscriber myRealm = roc.getSubscriber(ctx, Util.IDTYPE_DEFAULT, null, new String[] { "*" });
        Group oneGroup = myRealm.getGroup(ctx, Util.IDTYPE_SIMPLE, groupName, new String[] { "*" });
        User myUser = myRealm.getUser(ctx, Util.IDTYPE_SIMPLE, userId, new String[] { "*" });
        String userDN = myUser.getDN(ctx);

        //oneGroup.isMember(ctx, myUser, false));
        //oneGroup.addUniquemember(ctx, userDN);
        //.....................................

    

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics