还有一个用户的DN应该是什么样子的?
我在网上看到的示例有:
String DN = "cn=user1, ou=Austin,o=ibm,c=us"; // DN to be authenticated 那具体到我这个系统又应该是什么样子呢?
我在网上看到的示例有:
String DN = "cn=user1, ou=Austin,o=ibm,c=us"; // DN to be authenticated 那具体到我这个系统又应该是什么样子呢?
解决方案 »
- 我用asp.net开发了一个网站,还可以用java进行第二次开发吗,求高手详细解答
- 关于标签,求指教
- 比较 hibernate session 是用 equal 还是 ==
- JBoss China中文社区正式开通了!
- 用Ext 不能显示从后台获取的JSON数据是怎么回事
- Spring Struts Hibernate 的思想是什么?
- 高手指教学习方法
- struts下问题两则
- 请问如何知道对方socket是否关闭 急!急!急!急!急!急!急!急!急!
- 关于mybatis的 Mapper 类和 MapperXML mybatis-plus 方法映射的问题
- WebLogic 8.1 如何设置default webapp??
- Struts不能正确加载formBean?
呵呵…… 学习学习……
我猜是够呛啊,JNDI 目前支持的好像只有 DNS, NDS, LDAP, CORBA, RMI, NIS……
{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.1.1:389/DC=localdomain,DC=com");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=username,cn=users,DC=localdomain,DC=com");
env.put(Context.SECURITY_CREDENTIALS, "password"); try
{
DirContext ctx = new InitialDirContext(env);
SearchControls constraints = new SearchControls();
/*注释掉以显示所有属性
ArrayList attrList = new ArrayList();
attrList.add("sn");
attrList.add("displayName");
attrList.add("maxPwdAge");
attrList.add("PasswordExpirationDate");
attrList.add("pwdLastSet");
attrList.add("userAccountControl");
attrList.add("instanceType");
attrList.add("nTSecurityDescriptor");
attrList.add("objectCategory");
attrList.add("objectClass");
attrList.add("objectSid");
attrList.add("sAMAccountName");
String[] returnAttributes = new String[attrList.size()];
attrList.toArray(returnAttributes);
constraints.setReturningAttributes(returnAttributes);
*/
constraints.setSearchScope(SearchControls.ONELEVEL_SCOPE);
NamingEnumeration results = ctx.search("cn=users", "cn=*", constraints);
displayNamingEnumeration(results);
}
catch(Exception e)
{
e.printStackTrace();
}
}public static void displayNamingEnumeration(NamingEnumeration en) throws NamingException
{
while (en != null && en.hasMore())
{
Object obj = en.next();
if(obj instanceof SearchResult)
{
SearchResult si = (SearchResult) obj;
System.out.println("name: " + si.getName());
Attributes attrs = si.getAttributes();
if (attrs == null)
{
System.out.println("No attributes");
}
else
{
for (NamingEnumeration ae = attrs.getAll(); ae.hasMoreElements();)
{
Attribute attr = (Attribute) ae.next();
String attrId = attr.getID();
for (Enumeration vals = attr.getAll();vals.hasMoreElements();)
{
System.out.print(attrId + ": ");
Object o = vals.nextElement();
if(o instanceof byte[])
System.out.println(new String((byte[])o));
else
System.out.println(o);
}
}
}
}
else
{
System.out.println(obj);
}
System.out.println();
}
}