1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.common.lib.auth;
20
21 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
22 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
23 import java.util.ArrayList;
24 import java.util.List;
25 import java.util.Map;
26 import org.apache.syncope.common.lib.AbstractLDAPConf;
27 import org.apache.syncope.common.lib.to.AuthModuleTO;
28
29 public class LDAPAuthModuleConf extends AbstractLDAPConf implements AuthModuleConf {
30
31 private static final long serialVersionUID = -471527731042579422L;
32
33
34
35
36 public enum AuthenticationType {
37
38
39
40
41 AD,
42
43
44
45 AUTHENTICATED,
46
47
48
49 DIRECT,
50
51
52
53 ANONYMOUS
54
55 }
56
57 public enum DerefAliasesType {
58 NEVER,
59 SEARCHING,
60 FINDING,
61 ALWAYS
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 private AuthenticationType authenticationType = AuthenticationType.AUTHENTICATED;
92
93
94
95
96
97 private String dnFormat;
98
99
100
101
102
103 private boolean enhanceWithEntryResolver = true;
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 private DerefAliasesType derefAliases;
119
120
121
122
123
124 private String resolveFromAttribute;
125
126
127
128
129 private String principalAttributeId;
130
131
132
133
134 private String principalDnAttributeName = "principalLdapDn";
135
136
137
138
139
140
141
142 private boolean allowMultiplePrincipalAttributeValues;
143
144
145
146
147 private final List<String> additionalAttributes = new ArrayList<>();
148
149
150
151
152
153 private boolean allowMissingPrincipalAttributeValue = true;
154
155
156
157
158 private boolean collectDnAttribute;
159
160 public AuthenticationType getAuthenticationType() {
161 return authenticationType;
162 }
163
164 public void setAuthenticationType(final AuthenticationType authenticationType) {
165 this.authenticationType = authenticationType;
166 }
167
168 public String getDnFormat() {
169 return dnFormat;
170 }
171
172 public void setDnFormat(final String dnFormat) {
173 this.dnFormat = dnFormat;
174 }
175
176 public boolean isEnhanceWithEntryResolver() {
177 return enhanceWithEntryResolver;
178 }
179
180 public void setEnhanceWithEntryResolver(final boolean enhanceWithEntryResolver) {
181 this.enhanceWithEntryResolver = enhanceWithEntryResolver;
182 }
183
184 public DerefAliasesType getDerefAliases() {
185 return derefAliases;
186 }
187
188 public void setDerefAliases(final DerefAliasesType derefAliases) {
189 this.derefAliases = derefAliases;
190 }
191
192 public String getResolveFromAttribute() {
193 return resolveFromAttribute;
194 }
195
196 public void setResolveFromAttribute(final String resolveFromAttribute) {
197 this.resolveFromAttribute = resolveFromAttribute;
198 }
199
200 public String getPrincipalAttributeId() {
201 return principalAttributeId;
202 }
203
204 public void setPrincipalAttributeId(final String principalAttributeId) {
205 this.principalAttributeId = principalAttributeId;
206 }
207
208 public String getPrincipalDnAttributeName() {
209 return principalDnAttributeName;
210 }
211
212 public void setPrincipalDnAttributeName(final String principalDnAttributeName) {
213 this.principalDnAttributeName = principalDnAttributeName;
214 }
215
216 @JacksonXmlElementWrapper(localName = "additionalAttributes")
217 @JacksonXmlProperty(localName = "additionalAttribute")
218 public List<String> getAdditionalAttributes() {
219 return additionalAttributes;
220 }
221
222 public boolean isAllowMultiplePrincipalAttributeValues() {
223 return allowMultiplePrincipalAttributeValues;
224 }
225
226 public void setAllowMultiplePrincipalAttributeValues(final boolean allowMultiplePrincipalAttributeValues) {
227 this.allowMultiplePrincipalAttributeValues = allowMultiplePrincipalAttributeValues;
228 }
229
230 public boolean isAllowMissingPrincipalAttributeValue() {
231 return allowMissingPrincipalAttributeValue;
232 }
233
234 public void setAllowMissingPrincipalAttributeValue(final boolean allowMissingPrincipalAttributeValue) {
235 this.allowMissingPrincipalAttributeValue = allowMissingPrincipalAttributeValue;
236 }
237
238 public boolean isCollectDnAttribute() {
239 return collectDnAttribute;
240 }
241
242 public void setCollectDnAttribute(final boolean collectDnAttribute) {
243 this.collectDnAttribute = collectDnAttribute;
244 }
245
246 @Override
247 public Map<String, Object> map(final AuthModuleTO authModule, final Mapper mapper) {
248 return mapper.map(authModule, this);
249 }
250 }