mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Ludovic Poitou
26.57.2010 2a09ccc55845e4ff56cf1e8dee0a24fe26725063
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="member-virtual-attribute"
  plural-name="user-defined-virtual-attributes"
  package="org.opends.server.admin.std" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a member or uniqueMember attribute whose values are 
    the DNs of the members of a specified virtual static group.
  </adm:synopsis>
  <adm:description>
    This component is used to implement virtual static group 
    functionality, in which it is possible to create an entry 
    that looks like a static group but obtains all of its 
    membership from a dynamic group (or some other type of 
    group, including another static group).
    This implementation is most efficient when attempting to 
    determine whether a given user is a member of a group 
    (for example, with a filter like 
    "(uniqueMember=uid=john.doe,ou=People,dc=example,dc=com)") 
    when the search does not actually return the membership 
    attribute. Although it works to generate the entire set of 
    values for the member or uniqueMember attribute, this can be 
    an expensive operation for a large group.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-member-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.MemberVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="allow-retrieving-membership" mandatory="true">
    <adm:synopsis>
      Indicates whether to handle requests that request all values for
      the virtual attribute.
    </adm:synopsis>
    <adm:description>
      This operation can be very expensive in some cases and is not
      consistent with the primary function of virtual static groups, which
      is to make it possible to use static group idioms to determine
      whether a given user is a member.
      If this attribute is set to false, attempts to retrieve the entire 
      set of values receive an empty set, and only attempts to determine 
      whether the attribute has a specific value or set of values 
      (which is the primary anticipated use for virtual static groups) 
      are handled properly.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-retrieving-membership</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>