⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldapext-ldapv3-vlv-04.txt

📁 samba最新软件
💻 TXT
📖 第 1 页 / 共 2 页
字号:
used  in  a  subsequent  VirtualListViewRequest control.  contextID is aserver-defined octet string. If present, the contents of  the  contextIDfield  SHOULD be returned to the server by a client in a subsequent Vir-tualListViewRequest control.The virtualListViewResult codes which  are  common  to  the  LDAP  sear-chResponse  (adminLimitExceeded,  timeLimitExceeded, busy, operationsEr-ror, unwillingToPerform, insufficientAccessRights) have the  same  mean-ings  as  defined  in [LDAPv3], but they pertain specifically to the VLVoperation.  For example, the server could exceed an administration limitprocessing  a  SearchRequest with a VirtualListViewRequest control. How-ever, the same administration limit would not  be  exceeded  should  thesame  SearchRequest  be submitted by the client without the VirtualList-ViewRequest control.  In this case, the client  can  determine  that  anadministration limit has been exceeded in servicing the VLV request, andcan if it chooses resubmit the SearchRequest  without  the  VirtualList-ViewRequest control.insufficientAccessRights means that the server denied the client permis-sion to perform the VLV operation.Boreham et al                                                   [Page 6]RFC DRAFT                                                     April 2000If the server determines that the results of the search presented exceedthe  range  provided  by  the  32-bit  offset  values,  it  MUST  returnoffsetRangeError.6.  Protocol ExampleHere we walk through the client-server interaction for a  specific  vir-tual list view example:  The task is to display a list of all 78564 peo-ple in the US company "Ace Industry".  This will be done by  creating  agraphical  user  interface  object  to display the list contents, and byrepeatedly sending different versions of  the  same  virtual  list  viewsearch  request  to the server. The list view displays 20 entries on thescreen at a time.We form a search with baseDN "o=Ace Industry, c=us"; search  scope  sub-tree;  filter "objectClass=inetOrgPerson". We attach a server sort ordercontrol to the search, specifying ascending sort on attribute  "cn".  Tothis  base  search,  we  attach a virtual list view request control withcontents determined by the user activity and  send  the  search  to  theserver.  We  display the results from each search in the list window andupdate the slider position.When the list view is first displayed, we want to  initialize  the  con-tents showing the beginning of the list. Therefore, we set beforeCount =0, afterCount = 19, contentCount = 0, offset = 1 and send the request tothe  server.  The  server duly returns the first 20 entries in the list,plus the content count = 78564 and  targetPosition  =  1.  We  thereforeleave  the  scroll  bar  slider  at its current location (the top of itsrange).Say that next the user drags the scroll bar slider down to the bottom ofits  range.   We now wish to display the last 20 entries in the list, sowe set beforeCount = 19, afterCount = 0, contentCount = 78564, offset  =78564 and send the request to the server. The server returns the last 20entries in the list, plus the content count = 78564 and targetPosition =78564.Next the user presses a page up key. Our page size  is  20,  so  we  setbeforeCount  =  0,  afterCount  =  19,  contentCount  =  78564, offset =78564-19-20 and send the request to the server. The server  returns  thepreceding  20  entries  in  the list, plus the content count = 78564 andtargetPosition = 78525.Now the user grabs the scroll bar slider and drags it to 68% of the  waydown its travel. 68% of 78564 is 53424 so we set beforeCount = 9, after-Count = 10, contentCount = 78564, offset = 53424 and send the request tothe  server.  The  server  returns the preceding 20 entries in the list,plus the content count = 78564 and targetPosition = 53424.Boreham et al                                                   [Page 7]RFC DRAFT                                                     April 2000Lastly, the user types the letter "B". We set beforeCount  =  9,  after-Count  =  10  and  greaterThanOrEqual  = "B". The server finds the firstentry in the list not less  than  "B",  let's  say  "Babs  Jensen",  andreturns the nine preceding entries, the target entry, and the proceeding10 entries.  The server returns content count = 78564 and targetPosition=  5234  and so the client updates its scroll bar slider to 6.7% of fullscale.7.  Notes for ImplementersWhile the feature is expected  to  be  generally  useful  for  arbitrarysearch  and  sort  specifications, it is specifically designed for thosecases where the result set is very large.  The intention  is  that  thisfeature be implemented efficiently by means of pre-computed indices per-taining to a set of specific cases. For example, an offset  relating  to"all  the  employees in the local organization, sorted by surname" wouldbe a common case.The intention for client software is that the feature should fit  easilywith  the  host  platform's  graphical user interface facilities for thedisplay of scrolling lists. Thus the task  of  the  client  implementersshould  be  one of reformatting up the requests for information receivedfrom the list view code to match the format of  the  virtual  list  viewrequest and response controls.Client implementers should note that any offset value  returned  by  theserver  may  be  approximate. Do not design clients > which only operatecorrectly when offsets are exact.Server implementers using indexing technology which features approximatepositioning  should  consider  returning context identifiers to clients.The use of a context identifier will allow  the  server  to  distinguishbetween client requests which relate to different displayed lists on theclient. Consequently the server can decide more intelligently whether toreposition an existing database cursor accurately to within a short dis-tance of its current position, or to reposition to an approximate  posi-tion. Thus the client will see precise offsets for "short" repositioning(e.g. paging up or down), but approximate offsets for a  "long"  reposi-tion (e.g. a slider movement).Server implementers are free to return  status  code  unwillingToPerformshould  their  server  be  unable  to service any particular VLV search.This might be because the resolution of the  search  is  computationallyinfeasible,  or  because excessive server resources would be required toservice the search.Client implementers should note that this control is only defined  on  aclient  interaction  with a single server. If a server returns referralsBoreham et al                                                   [Page 8]RFC DRAFT                                                     April 2000as a part of its response to the search request, the client is responsi-ble  for  deciding when and how to apply this control to the referred-toservers, and how to collate the results from multiple servers.8.  Relationship to "Simple Paged Results"These controls are designed to support the virtual list view, which  hasproved  hard  to  implement  with  the  Simple  Paged  Results mechanism[SPaged]. However, the controls described  here  support  any  operationpossible with the Simple Paged Results mechanism. The two mechanisms arenot complementary, rather one has a superset of  the  other's  features.One  area where the mechanism presented here is not a strict superset ofthe Simple Paged Results scheme is that here we require a sort order  tobe specified. No such requirement is made for paged results.9.  Security ConsiderationsServer implementers may wish to consider whether  clients  are  able  toconsume  excessive  server  resources  in requesting virtual list opera-tions. Access control to the feature itself; configuration options  lim-iting  the  feature's  use  to certain predetermined search base DNs andfilters; throttling mechanisms designed to limit  the  ability  for  oneclient to soak up server resources, may be appropriate.Consideration should be given as to whether a client  will  be  able  toretrieve  the complete contents, or a significant subset of the completecontents of the directory using this feature. This may be undesirable insome  circumstances and consequently it may be necessary to enforce someaccess control.Clients can, using this control, determine how  many  entries  are  con-tained  within  a  portion  of  the  DIT. This may constitute a securityhazard. Again, access controls may be appropriate.Server implementers SHOULD exercise caution concerning  the  content  ofthe  contextID.   Should the contextID contain internal server state, itmay be possible for a malicious client to use that information  to  gainunauthorized access to information.10.  AcknowledgementsChris Weider of Microsoft co-authored a previous version of  this  docu-ment.Boreham et al                                                   [Page 9]RFC DRAFT                                                     April 200011.  References[LDAPv3]     Wahl, M, S. Kille and T. Howes, "Lightweight Directory Access  Pro-     tocol (v3)", Internet Standard, December, 1997. RFC2251.[SPaged]     Weider, C, A. Herron, A.  Anantha,  and  T.  Howes,  "LDAP  Control     Extension  for  Simple   Paged   Results   Manipulation", September     1999. RFC2696[SSS]Wahl, M, A. Herron and T. Howes, "LDAP Control Extension for Server     Side  Sorting  of  Search  Results",  Internet  Draft, April, 1999.     Available as draft-ietf-asid-ldapv3-sorting-02.txt.[Bradner97]     Bradner, S., "Key Words for use in  RFCs  to  Indicate  Requirement     Levels", BCP 14, RFC 2119, March 1997.12.  Authors' Addresses   David Boreham   iPlanet e-commerce solutions   501 E. Middlefield Road   Mountain View, CA 94043, USA   +1 650 937-5206   dboreham@netscape.com   Jim Sermersheim   Novell   122 East 1700 South   Provo, Utah 84606, USA   jimse@novell.com   Anoop Anantha   Microsoft Corp.   1 Microsoft Way   Redmond, WA 98052, USA   +1 425 882-8080   anoopa@microsoft.com   Michael Armijo   Microsoft Corp.   1 Microsoft Way   Redmond, WA 98052, USA   +1 425 882-8080   micharm@microsoft.com   This document expires on 5 October 2000Boreham et al                                                  [Page 10]RFC DRAFT                                                     April 2000Boreham et al                                                  [Page 11]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -