创建和销毁子上下文
Context
interface包含用于creating和destroying a * subcontext 的方法, subcontext *是绑定在相同类型的另一个上下文中的上下文。
此处描述的示例使用具有属性的对象,并在目录中创建子上下文。在将绑定或子上下文添加到名称空间时,可以使用这些DirContext
方法将属性与对象关联。例如,您可以创建一个Person
对象并将其绑定到名称空间,同时与此Person
对象相关联的属性。等效命名将没有属性。
createSubcontext()与 bind()的不同之处在于,它创建了一个新对象,即要绑定到目录的新上下文,而 bind()则将给定对象绑定到目录中。
创建上下文
要创建命名上下文,请向createSubcontext()提供要创建的上下文的名称。要创建具有属性的上下文,请向DirContext.createSubcontext()提供要创建的上下文的名称及其属性。
在 continue 之前: 本课中的示例要求您对架构进行补充。您必须关闭 LDAP 服务器中的 Pattern 检查,或者将本教程随附的the schema添加到服务器。这两个任务通常由目录服务器的 管理 员执行。请参阅LDAP Setup类。
// Create attributes to be associated with the new context
Attributes attrs = new BasicAttributes(true); // case-ignore
Attribute objclass = new BasicAttribute("objectclass");
objclass.add("top");
objclass.add("organizationalUnit");
attrs.put(objclass);
// Create the context
Context result = ctx.createSubcontext("NewOu", attrs);
This example创建一个名为"ou=NewOu"
的新上下文,该上下文在ctx
上下文中具有"objectclass"
属性,该属性具有两个值"top"
和"organizationalUnit"
。
# java Create
ou=Groups: javax.naming.directory.DirContext
ou=People: javax.naming.directory.DirContext
ou=NewOu: javax.naming.directory.DirContext
This example创建一个名为"NewOu"
的新上下文,该上下文是ctx
的子级。
破坏上下文
要销毁上下文,请向destroySubcontext()提供要销毁的上下文的名称。
// Destroy the context
ctx.destroySubcontext("NewOu");
This example破坏上下文ctx
中的上下文"NewOu"
。