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

Ludovic Poitou
23.07.2011 e523c3b1f2ab90f2b424bdefe674a0fd3d8da7f4
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<?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-2010 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="regular-expression-identity-mapper"
  plural-name="regular-expression-identity-mappers"
  package="org.opends.server.admin.std" extends="identity-mapper"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a way to use a regular expression to translate the
    provided identifier when searching for the appropriate user entry.
  </adm:synopsis>
  <adm:description>
    This may be used, for example, if the provided identifier is
    expected to be an e-mail address or Kerberos principal, but only the
    username portion (the part before the "@" symbol) should be used in
    the mapping process. Note that a replacement will be made only if
    all or part of the provided ID string matches the given match
    pattern. If no part of the ID string matches the provided
    pattern, the given ID string is used without any alteration.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-regular-expression-identity-mapper</ldap:name>
      <ldap:superior>ds-cfg-identity-mapper</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.RegularExpressionIdentityMapper
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="match-attribute" mandatory="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the name or OID of the attribute whose value should
      match the provided identifier string after it has been processed
      by the associated regular expression. 
    </adm:synopsis>
    <adm:description>
      All values must refer to the name or OID of an attribute type
      defined in the directory server schema. If multiple attributes 
      or OIDs are provided, at least one of those attributes must contain 
      the provided ID string value in exactly one entry.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          uid
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-match-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="match-base-dn" mandatory="false" multi-valued="true">
    <adm:synopsis>
      Specifies the base DN(s) that should be used when performing
      searches to map the provided ID string to a user entry. If multiple 
      values are given, searches are performed below all the specified base DNs.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server searches below all public naming contexts.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-match-base-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="match-pattern" mandatory="true">
    <adm:synopsis>
      Specifies the regular expression pattern that is used to
      identify portions of the ID string that will be replaced. 
    </adm:synopsis>
    <adm:description>
      Any portion of the ID string that matches this pattern is 
      replaced in accordance with the provided replace pattern (or is 
      removed if no replace pattern is specified). If multiple
      substrings within the given ID string match this pattern, all
      occurrences are replaced. If no part of the given ID string
      matches this pattern, the ID string is not altered. Exactly one 
      match pattern value must be provided, and it must be a
      valid regular expression as described in the API documentation for
      the java.util.regex.Pattern class, including support for capturing
      groups.
    </adm:description>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>REGEXP</adm:usage>
          <adm:synopsis>
            Any valid regular expression pattern which is supported by the 
            javax.util.regex.Pattern class 
            (see http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/util/regex/Pattern.html 
            for documentation about this class for Java SE 6).
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax> 
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-match-pattern</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="replace-pattern">
    <adm:synopsis>
      Specifies the replacement pattern that should be used for
      substrings in the ID string that match the provided regular
      expression pattern.
    </adm:synopsis>
    <adm:description>
      If no replacement pattern is provided, then any matching portions
      of the ID string will be removed (i.e., replaced with an empty
      string). The replacement pattern may include a string from a
      capturing group by using a dollar sign ($) followed by an integer
      value that indicates which capturing group should be used.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The replace pattern will be the empty string.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>REGEXP</adm:usage>
          <adm:synopsis>
           Any valid replacement string that is allowed by the
           javax.util.regex.Matcher class.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax> 
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-replace-pattern</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>