1 package org.apache.turbine.services.security.ldap;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Properties;
23
24 import org.apache.turbine.services.security.TurbineSecurity;
25
26 /***
27 * <p>This is a static class for defining the default ldap confiquration
28 * keys used by core Turbine components.</p>
29 *
30 * @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
31 * @author <a href="mailto:hhernandez@itweb.com.mx">Humberto Hernandez</a>
32 * @version $Id: LDAPSecurityConstants.java 534527 2007-05-02 16:10:59Z tv $
33 */
34 public class LDAPSecurityConstants
35 {
36 /*** Property key */
37 public static final String LDAP_ADMIN_USERNAME_KEY = "ldap.admin.username";
38
39 /*** Property key */
40 public static final String LDAP_ADMIN_PASSWORD_KEY = "ldap.admin.password";
41
42 /*** Property key */
43 public static final String LDAP_HOST_KEY = "ldap.host";
44
45 /*** Property default value */
46 public static final String LDAP_HOST_DEFAULT = "localhost";
47
48 /*** Property key */
49 public static final String LDAP_PORT_KEY = "ldap.port";
50
51 /*** Property default value */
52 public static final String LDAP_PORT_DEFAULT = "389";
53
54 /*** Property key */
55 public static final String LDAP_PROVIDER_KEY = "ldap.provider";
56
57 /*** Property default value */
58 public static final String LDAP_PROVIDER_DEFAULT =
59 "com.sun.jndi.ldap.LdapCtxFactory";
60
61 /*** Property key */
62 public static final String LDAP_BASE_SEARCH_KEY = "ldap.basesearch";
63
64 /*** Property key */
65 public static final String LDAP_AUTH_KEY = "ldap.security.authentication";
66
67 /*** Property default value */
68 public static final String LDAP_AUTH_DEFAULT = "simple";
69
70 /*** Property key */
71 public static final String LDAP_USER_USERID_KEY = "ldap.user.userid";
72
73 /*** Property default value */
74 public static final String LDAP_USER_USERID_DEFAULT = "uid";
75
76 /*** Property key */
77 public static final String LDAP_USER_USERNAME_KEY = "ldap.user.username";
78
79 /*** Property default value */
80 public static final String LDAP_USER_USERNAME_DEFAULT = "turbineUserUniqueId";
81
82 /*** Property key */
83 public static final String LDAP_USER_FIRSTNAME_KEY = "ldap.user.firstname";
84
85 /*** Property default value */
86 public static final String LDAP_USER_FIRSTNAME_DEFAULT = "turbineUserFirstName";
87
88 /*** Property key */
89 public static final String LDAP_USER_LASTNAME_KEY = "ldap.user.lastname";
90
91 /*** Property default value */
92 public static final String LDAP_USER_LASTNAME_DEFAULT = "turbineUserLastName";
93
94 /*** Property key */
95 public static final String LDAP_USER_EMAIL_KEY = "ldap.user.email";
96
97 /*** Property default value */
98 public static final String LDAP_USER_EMAIL_DEFAULT = "turbineUserMailAddress";
99
100 /*** Property key */
101 public static final String LDAP_USER_PASSWORD_KEY = "ldap.user.password";
102
103 /*** Property default value */
104 public static final String LDAP_USER_PASSWORD_DEFAULT = "userPassword";
105
106 /***
107 * Get all the properties for the security service.
108 * @return all the properties of the security service.
109 */
110 public static Properties getProperties()
111 {
112 return TurbineSecurity.getService().getProperties();
113 }
114
115 /***
116 * Get a property from the LDAP security service.
117 * @param key The key to access the value of the property.
118 * @return The value of the property.
119 */
120 public static String getProperty(String key)
121 {
122 return getProperties().getProperty(key);
123 }
124
125 /***
126 * Get a property from the LDAP security service.
127 * @param key The key to access the value of the property.
128 * @param defaultValue The value that the property takes
129 * when it doesn't exist.
130 * @return The value of the property.
131 */
132 public static String getProperty(String key, String defaultValue)
133 {
134 return getProperties().getProperty(key, defaultValue);
135 }
136
137 /***
138 * Get the value of the property for the administration username.
139 * @return the value of the property.
140 */
141 public static String getAdminUsername()
142 {
143 String str = getProperty(LDAP_ADMIN_USERNAME_KEY);
144
145
146
147
148
149 str = str.replace('/', '=');
150 str = str.replace('%', ',');
151 return str;
152 }
153
154 /***
155 * Get the value of the property for the administration password.
156 * @return the value of the property.
157 */
158 public static String getAdminPassword()
159 {
160 return getProperty(LDAP_ADMIN_PASSWORD_KEY);
161 }
162
163 /***
164 * Get the value of the property for the LDAP Host.
165 * @return the value of the property.
166 */
167 public static String getLDAPHost()
168 {
169 return getProperty(LDAP_HOST_KEY, LDAP_HOST_DEFAULT);
170 }
171
172 /***
173 * Get the value of the property for the LDAP Port.
174 * @return the value of the property.
175 */
176 public static String getLDAPPort()
177 {
178 return getProperty(LDAP_PORT_KEY, LDAP_PORT_DEFAULT);
179 }
180
181 /***
182 * Get the value of the property for the LDAP Provider.
183 * @return the value of the property.
184 */
185 public static String getLDAPProvider()
186 {
187 return getProperty(LDAP_PROVIDER_KEY, LDAP_PROVIDER_DEFAULT);
188 }
189
190 /***
191 * Get value of the property for the Base Search.
192 * @return the value of the property.
193 */
194 public static String getBaseSearch()
195 {
196 String str = getProperty(LDAP_BASE_SEARCH_KEY);
197
198
199
200
201
202 str = str.replace('/', '=');
203 str = str.replace('%', ',');
204 return str;
205 }
206
207 /***
208 * Get the value of the property for the Authentication
209 * mechanism. Valid values are: none, simple,
210 * @return the value of the property.
211 */
212 public static String getLDAPAuthentication()
213 {
214 return getProperty(LDAP_AUTH_KEY, LDAP_AUTH_DEFAULT);
215 }
216
217 /***
218 * Get the value of the User id Attribute.
219 * @return the value of the property.
220 */
221 public static String getUserIdAttribute()
222 {
223 return getProperty(LDAP_USER_USERID_KEY, LDAP_USER_USERID_DEFAULT);
224 }
225
226 /***
227 * Get the value of the Username Attribute.
228 * @return the value of the property.
229 */
230 public static String getNameAttribute()
231 {
232 return getProperty(LDAP_USER_USERNAME_KEY, LDAP_USER_USERNAME_DEFAULT);
233 }
234
235 /***
236 * Get the value of the Username Attribute.
237 * @return the value of the property.
238 * @deprecated Use getNameAttribute()
239 */
240 public static String getUserNameAttribute()
241 {
242 return getNameAttribute();
243 }
244
245 /***
246 * Get the value of the Firstname Attribute.
247 * @return the value of the property.
248 */
249 public static String getFirstNameAttribute()
250 {
251 return getProperty(LDAP_USER_FIRSTNAME_KEY,
252 LDAP_USER_FIRSTNAME_DEFAULT);
253 }
254
255 /***
256 * Get the value of the Lastname Attribute.
257 * @return the value of the property.
258 */
259 public static String getLastNameAttribute()
260 {
261 return getProperty(LDAP_USER_LASTNAME_KEY, LDAP_USER_LASTNAME_DEFAULT);
262 }
263
264 /***
265 * Get the value of the Password Attribute.
266 * @return the value of the property.
267 */
268 public static String getPasswordAttribute()
269 {
270 return getProperty(LDAP_USER_PASSWORD_KEY, LDAP_USER_PASSWORD_DEFAULT);
271 }
272
273 /***
274 * Get the value of the E-Mail Attribute.
275 * @return the value of the property.
276 */
277 public static String getEmailAttribute()
278 {
279 return getProperty(LDAP_USER_EMAIL_KEY, LDAP_USER_EMAIL_DEFAULT);
280 }
281
282 }