Sun JNDI 官方網站
http://java.sun.com/products/jndi/
nis.jar為NIX所需Lib
範例程式如下:
import java.util.Properties;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
public class TestJndi {
public static void main(String[] args) {
Properties env = new Properties();
env.put(DirContext.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.nis.NISCtxFactory");
env.put(DirContext.PROVIDER_URL, "nis://127.0.0.1/nisdomainname");
try {
InitialDirContext ctx = new InitialDirContext(env);
NamingEnumeration list = ctx.list("system/passwd");
while (list.hasMoreElements()) {
String username = list.nextElement().getName();
Attributes atts = ctx
.getAttributes("system/passwd/" + username);
System.out.println(atts.get("uidNumber").get());
System.out.println(atts.get("gidNumber").get());
System.out.println(atts.get("cn").get());
System.out.println(atts.get("homeDirectory").get());
System.out.println(atts.get("userPassword").get());
System.out.println(atts.get("nisMapEntry").get());
}
} catch (NamingException ex) {
ex.printStackTrace();
}
}
}