WEB开发网
开发学院软件开发Java 在 Apache 目录服务器中存储 Java 对象,第 2 部分... 阅读

在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(下)

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: SearchForAliceByCN 应用程序显示了用 Alice 的用户名搜索她的步骤,应用程序与前面的 SearchForAlice 应用程序非常相似,在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(下)(4),只有

SearchForAliceByCN 应用程序显示了用 Alice 的用户名搜索她的步骤。应用程序与前面的 SearchForAlice 应用程序非常相似,只有一个区别。在 清单 6 的步骤 4 中,我们为便于搜索创建了一个由 uid 和 objectClass 属性组成的集合。而在这个 应用程序的步骤 4 中,创建的是 cn 和 objectClass 属性的集合。

关于匹配规则

搜索 cn 有一个要点需要注意。在 第 1 部分的图 13 可以看到,cn 属性类型有一个叫做 SUBSTR 的字段,它定义了子字符串匹配的匹配规则。

在 cn 属性的示例中,SUBSTR 字段的值是 caseIgnoreMatch,所以在搜索 cn 属性的特定值时,即使搜索的名称只与 cn 属性值的子字符串匹配,也认为匹配成功。而且,子字符串匹配是不区分大小写的。

所以,如果搜索 “alice”,那么所有名字、中间名或姓为 “Alice” 的用户都会包含在搜索结果中。

应用程序 6. 反序列化 Java 对象

前面已经看到了如何在 ApacheDS 中存储 Java 对象并搜索与存储的对象有关的属性。现在将学习如何搜索和反序列化 Java 对象。反序列化是序列化的反向操作,在这里将根据 Java 对象的序列化形式创建一个 Java 对象。

清单 8 所示的应用程序搜索并反序列化 Alice 的 MessagingPreferences 对象。请回想一下 清单 1 中存储在 ApacheDS 中的 MessagingPreferences 对象。

FetchAliceMessagingPreferences 应用程序是 清单 7 中看到的 SearchForAliceByCN 应用程序的增强版。实际上,清单 8 与 清单 7 在步骤 8 之前都相同,在步骤 8 中,将提取 Alice 数据条目的 RDN。从清单 8 中的步骤 8 中,将开始查找 Alice 的 Preferences 对象:

清单 8. FetchAliceMessagingPreferences

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Apache 目录 服务器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接