我在编写一些Java代码时遇到问题,这些代码将在ADAM中创建一个容器/文件夹,其中容器名称和区别名称包含正斜杠。
例如
CN =测试/检验
dn = CN = test / test,CN = TestStore,DC = MyCompany,DC = COM
LdapContext _ctx = getNewContext(valid_userName, valid_userName, valid_userName);
// uses InitialLdapContext under the hood
String containerDN = "dn=CN=test/test,CN=TestStore,DC=MyCompany,DC=COM"
_ctx.createSubcontext(containerDN, attrs); // assume attrs is valid javax.naming.directory.Attributes
我正在努力从Java String对象中获取正斜杠,但仍允许InitialLdapContext创建具有名称的容器。
在ADAM Adsi Edit应用程序中,我可以使用正斜杠创建文件夹,因此我认为该过程也可以通过代码完成。
非常感谢...
答案 0 :(得分:1)
重新阅读用于LDAPContext的JavaDocs API和DirContext ...重载方法createSubContext()提供:
public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
Name接口,具体类CompositeName为我处理特殊字符的转义/取消转义......
非常感谢JRL!答案 1 :(得分:0)
来自Technet,可能有用:
如果是组织单位的名称 包含正斜杠字符 (/),系统需要逃脱 反斜杠形式的字符 ()区分前进 削减分隔的元素 规范名称和正斜杠 这是组织的一部分 单位名称。规范的名称 出现在Active Directory用户和 显示计算机属性页面 逃脱角色立刻 在前进的斜线之前 组织单位的名称。对于 例如,如果名称 组织单位是 促销/东北和的名称 域名是Reskit.com, 规范名称显示为 Reskit.com/Promotions/Northeast