动态目录控制的制作方法_3

文档序号:8207707阅读:来源:国知局
制包括 将该控制的副本、与该控制相关联的模板和/或该控制的标识符(例如,0ID)添加至目录处 理器106和/或延伸运行时模块110。进一步地,添加该控制可以包括将该控制的副本、与 该控制相关联的模板以及该控制的标识符中的一个或多个存储在登记控制资料库112处。 此外,添加该控制可以包括添加能够处理该控制的一个或多个应用116的特性。该一个或 多个应用116的特性能被存储在登记控制资料库112处。在某些情况下,延伸运行时模块 110可确定应用116中的哪个用于处理被添加的控制。在一些情况下,该控制可指定应用 116中的哪个用于处理被添加的控制。
[0061] 在一些实施方式中,过程200可被修改以使得控制能够被注销。例如,块202可包 括接收对注销该控制的请求。然后该控制的标识符可在块204处被标识。在决策块206处, 控制登记系统118能确定该控制是否之前已登记或者该控制是否未被登记。如果该控制未 被登记,或者不是之前已登记的,则拒绝对注销该控制的请求。或者,在一些情况下,由于缺 少对注销的控制,该请求可被标识为已完成或者非必要。如果该控制是之前已登记的,控制 登记系统118可以从服务器控制资料库120中注销或者移除该控制的特性、该控制和/或 该控制模板。进一步地,控制登记系统118能使得延伸运行时模块110从登记控制资料库 112中移除该控制的特性、该控制和/或该控制模板。
[0062] 在一些实施方式中,注销该控制包括确定该控制是否本地控制或被用户或者应用 登记的控制。如果该控制是本地控制,则拒绝对注销该控制的请求。如果该控制不是本地 控制,则控制登记系统118能继续进行注销该控制的过程。
[0063] 在一些情况下,过程200可用于用新控制替换或者更新之前已登记的控制。在该 实施方式中,块206、207和208是可选的。在这样的实施方式中,块206、207和208是可选 的。在一些实施方式中,如果控制登记系统118在决策块206处确定存在之前已登记的与 该标识符相关联的控制,则控制登记系统118不拒绝该登记请求,而是用与该新的或者更 新的控制相关联的信息替换与之前已登记的控制相关联的信息。例如,控制登记系统118 可以用与新的或者更新的控制相关联的控制模板替换与之前已登记的控制相关联的控制 模板。
[0064] 在一些实施方式中,过程200可用于更新或替换除动态或者已登记的控制之外的 本地控制。在一些这样的实施方式中,过程200可包括通知用户已登记的控制和本地控制 共享一个标识符。然后用户确认是否替换该本地控制。在某些实施方式中,替换本地控制 可包括针对试图修改或替换本地控制的用户和/或应用对用户进行认证,确认用户的存取 许可和/或确认应用的存取许可。例如,在一些情况下,替换本地控制可能仅限于管理员或 者其他被授权的人员。
[0065] 在一些实施方式中,过程200可用以移除或者禁用本地控制。在一些情况下,为了 安全,本地控制可被禁用或者移除,以限制可使用的控制。在一些实施方式中,包括已被移 除或者禁用的本地控制的目录操作可被修改,以从该目录操作中移除该本地控制。或者,包 括禁用的本地控制的目录操作可被拒绝。
[0066] 执行目录橾作的讨稈的示例
[0067] 图3显示了根据本公开的一些实施方式的用于执行目录操作的过程300的实施例 的流程图。过程300由能执行或实行与目录相关联的控制的任意系统实施。例如,过程300 的全部或部分能由目录服务系统104、目录处理器106、延伸运行时模块110、目录114和目 录应用116中的一个或多个实施。虽然任意数量的系统能实施过程300的全部或者部分, 为了简化讨论,过程300将被描述为通常由目录服务系统104实施。
[0068] 过程300在块302处开始,其中例如,目录服务系统104从客户端102接收目录操 作130。在一些实施方式中,块302可包括向目录处理器106和延伸运行时模块110中的一 个或多个提供目录操作130。
[0069] 在决策块304处,使用例如延伸运行时模块110的目录服务系统104确定目录操 作(例如,目录操作130)是否包括控制(例如,控制132)。如果延伸运行时模块110确定 该目录操作不包括控制,使用例如目录处理器106的目录服务系统104在块306处执行或 实行目录操作。
[0070] 如果延伸运行时模块110确定该目录操作包括控制,延伸运行时模块在决策块 308处确定该控制是否本地控制。确定该控制是否本地控制可以包括存取本地服务器控制 资料库108,以确定与该控制相关联的标识符(例如,OID)是否被可以包括在本地服务器 控制资料库106中。或者,或此外,确定该控制是否本地控制可以包括存取登记控制资料库 112,以确定该标识符是否被存储在该资料库中。
[0071] 如果延伸运行时模块110确定该控制是本地控制,使用例如目录处理器106的目 录服务系统104在块306处执行或者实行该目录操作。在一些情况下,块306可包括执行 与包括在该目录操作中的控制相关联的过程和/或基于该控制对该操作的执行进行修改。
[0072] 如果延伸运行时模块110确定该控制不是本地控制,则延伸运行时模块110在决 策块310处确定该控制是否已登记的控制。已登记的控制可以包括非本地的任意控制,或 者非基于目录存取协议(例如,LDAP)被设计或被设计成用目录存取协议(例如,LDAP)操 作的目录处理器106的操作中固有的任意控制。进一步地,已登记的控制包括已使用过程 200向目录服务系统104或目录处理器106登记的任意控制。确定该控制是否已登记的控 制包括存取登记控制资料库112,以确定与该控制相关联的标识符是否存储在该资料库中。
[0073] 如果延伸运行时模块110确定该控制不是已登记的控制,则在决策块312处,延伸 运行时模块110使得目录处理器106拒绝该目录操作。或者,在一些实施方式中,延伸运行 时模块110可从该目录操作中去掉或移除该控制,并且随后转到块306,从而使得目录处理 器106能够执行无该控制的目录操作。进一步地,在一些情况下,延伸运行时模块110可根 据该控制是否与关键标签相关联或者与该控制相关联的关键标签是否指示该控制为关键, 来确定使得目录操作被拒绝还是使得无该控制的目录操作被执行。
[0074] 如果延伸运行时模块110确定该控制是已登记的控制,则在块314处该延伸运行 时模块110确定何时执行与该已登记的控制相关联的过程。在一些实施方式中,块314是 可选的。在块316处,目录服务系统104使用目录应用116执行与该已登记的控制相关联 的过程。在一些情况下,在块316处,与该已登记的控制相关联的多个过程可被执行。执行 与该已登记的控制相关联的过程可以包括向目录应用116提供该控制、该目录操作和/或 与该控制或者该目录操作相关联的信息。进一步地,在一些情况下,执行与该已登记的控制 相关联的过程可以包括从一组目录应用116中选择目录应用以基于包括在该目录操作中 的该控制执行该过程。如下文的进一步描述,在一些实施方式中,块316可以是可选的或者 可不被执行。进一步地,在一些实施方式中,可对一些已登记的控制执行块316,而对其他的 不执行。
[0075] 在决策块318处,使用例如延伸运行时模块110或者目录应用116的目录服务系 统104确定与该已登记的控制相关联的过程的结果是否指示该目录操作被拒绝或者未被 执行。如果是的话,在块312处该目录操作被拒绝。拒绝该操作可以包括使得与该过程的 结果相关联的信息被提供给使得该目录操作被提供给目录服务系统104的用户或者应用, 该过程与该控制相关联。进一步地,拒绝该操作可以包括使得与拒绝该目录操作相关联的 信息被提供给使得该目录操作被提供给目录服务系统104的用户或者应用。在一些实施方 式中,决策块318可以是可选的或者可不被执行。例如,如果在块314处的决定指示与该控 制相关联的过程在该目录操作被实行或者执行之后才执行,则决策块318可不被执行。
[0076] 如果与已登记的控制相关联的过程的结果不与拒绝该目录操作相关联,则在块 320处延伸运行时模块110从该目录操作中去掉或者移除该控制。在一些实施方式中,块 320可以是可选的。例如,如果该控制是本地控制,或者如果目录处理器106能够处理或者 忽略已登记的控制,在块320处该控制可不从该目录操作中被移除。在块322处,使用例如 目录处理器106的目录服务系统104使用该控制被移除的目录操作的实例在块322处执行 或实行目录操作。在一些实施方式中,使用包括该控制的目录操作执行块322。在这样的实 施方式中,目录处理器106可将该控制认作为不被认可的控制而将其忽略。在一些实施方 式中,执行目录操作的过程可能依赖于在块316处执行的过程的结果。例如,如果目录操作 是添加新条目操作,则在块316处执行的过程的结果可确定该新条目被添加在目录114中 的哪个位置、在其被添加后移除或者修改该条目所需的安全许可或两者皆可。
[0077] 在块324处,目录服务系统104使用目录应用116执行与已登记的控制相关联的 过程。在一些实施方式中,以上所描述的关于块316的实施方式中的一些或者全部可应用 于块324。进一步地,如块316 -样,在一些实施方式中,块324可以是可选的或者可不被执 行。在一些情况下,可对一些已登记的控制执行块324,而对其他的不执行。
[0078] 在一些情况下,与已登记的控制相关联的过程可在块316处执行一部分并且在块 324处执行一部分。例如,可在块316处发起该过程并且在块324处完成该过程。对于一些 控制,块324是否被执行可取决于块322的结果。例如,基于在块322处执行的目录操作的 结果,与块324相关联的过程可包括用于确认或者提交(commit)在块316处执行的过程的 提交过程。类似的,基于在块322处执行的目录操作的结果,与块324相关联的过程可包括 退回(roll back)或还原过程。
[0079] 在一些情况下,基于在块314中的确定,与已登记的控制相关联的过程可在块316 和块324两者之一处运行。因此,在一些实例中,块316和块324中的一者是可选的。例 如,如果在块314处延伸运行时模块110确定与该控制相关联的过程将要在该目录操作之 后被执行,则在完成了与块314相关联的过程后,过程300可转到块320。进一步地,在一些 实例中,块316和块324中的一个或多个可以和块322并行执行。在块314是可选的或者 不被执行的实施方式中,目录服务系统104可被配置成默认执行块316和块324中的一者。 在一些实施方式中,块322可以是可选的。在另一些实施方式中,块322可在控制集被执行 之后或者响应于包括提交命令的控制被执行。有利地,在某些实施方式中,在目录操作作为 批处理的一部分被执行前,多个控制能被执行和/或多个目录操作可被排队。在一些情况 下,执行作为批处理的目录操作能通过例如限制对目录资料库114的存取的数量来改善目 录处理器106的性能。
[0080] 在块326处,目录服务系统104向客户端102传输执行该目录操作的结果。在一 些情况下,块326可包括传输执行与该控制相关联的过程的结果。进一步地,在一些实施方 式中,块326可以是可选的。
[0081] 图3示出了用于执行过程300的一种示例顺序。然而,过程300不限于在该图中示 出的和如上所述的顺序。例如,在一些情况下,决策块31
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1