79 |
79 |
*
|
80 |
80 |
*/
|
81 |
81 |
public class AuthFile implements AuthInterface {
|
82 |
|
private static final String ORGANIZATION = "UNkown";
|
|
82 |
private static final String ORGANIZATIONNAME = "UNkown";
|
|
83 |
private static final String ORGANIZATION = "organization";
|
83 |
84 |
private static final String NAME = "name";
|
84 |
85 |
private static final String DN = "dn";
|
85 |
86 |
private static final String DESCRIPTION = "description";
|
... | ... | |
206 |
207 |
if(users != null && users.size() > 0) {
|
207 |
208 |
String[][] usersArray = new String[users.size()][5];
|
208 |
209 |
for(int i=0; i<users.size(); i++) {
|
209 |
|
User aUser = new User();
|
|
210 |
|
210 |
211 |
String dn = (String)users.get(i);
|
211 |
|
aUser.setDN(dn);
|
212 |
212 |
usersArray[i][AuthInterface.USERDNINDEX] = dn; //dn
|
213 |
|
String surname = null;
|
214 |
|
List<Object> surNames = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+dn+"']"+SLASH+SURNAME);
|
215 |
|
if(surNames != null && !surNames.isEmpty()) {
|
216 |
|
surname = (String)surNames.get(0);
|
217 |
|
}
|
218 |
|
aUser.setSurName(surname);
|
219 |
|
String givenName = null;
|
220 |
|
List<Object> givenNames = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+dn+"']"+SLASH+GIVENNAME);
|
221 |
|
if(givenNames != null && !givenNames.isEmpty()) {
|
222 |
|
givenName = (String)givenNames.get(0);
|
223 |
|
}
|
224 |
|
aUser.setGivenName(givenName);
|
225 |
|
usersArray[i][AuthInterface.USERCNINDEX] = aUser.getCn();//common name
|
226 |
|
usersArray[i][AuthInterface.USERORGINDEX] = null;//organization name. We set null
|
|
213 |
String[] userInfo = getUserInfo(dn, password);
|
|
214 |
usersArray[i][AuthInterface.USERCNINDEX] = userInfo[AuthInterface.USERINFOCNINDEX];//common name
|
|
215 |
usersArray[i][AuthInterface.USERORGINDEX] = userInfo[AuthInterface.USERINFOORGANIDEX];//organization name. We set null
|
227 |
216 |
usersArray[i][AuthInterface.USERORGUNITINDEX] = null;//organization ou name. We set null.
|
228 |
|
List<Object> emails = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+dn+"']"+SLASH+EMAIL);
|
229 |
|
String email = null;
|
230 |
|
if(emails != null && !emails.isEmpty() ) {
|
231 |
|
email = (String)emails.get(0);
|
232 |
|
}
|
233 |
|
usersArray[i][AuthInterface.USEREMAILINDEX] = email;
|
|
217 |
usersArray[i][AuthInterface.USEREMAILINDEX] = userInfo[AuthInterface.USERINFOEMAILINDEX];
|
234 |
218 |
|
235 |
219 |
}
|
236 |
220 |
return usersArray;
|
... | ... | |
239 |
223 |
}
|
240 |
224 |
|
241 |
225 |
@Override
|
|
226 |
/**
|
|
227 |
* Get an array about the user. The first column is the common name, the second column is the organization name.
|
|
228 |
* The third column is the email address. It always returns an array. But the elements of the array can be null.
|
|
229 |
*/
|
242 |
230 |
public String[] getUserInfo(String user, String password)
|
243 |
231 |
throws ConnectException {
|
244 |
|
// TODO Auto-generated method stub
|
245 |
|
return null;
|
|
232 |
String[] userinfo = new String[3];
|
|
233 |
User aUser = new User();
|
|
234 |
aUser.setDN(user);
|
|
235 |
String surname = null;
|
|
236 |
List<Object> surNames = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+user+"']"+SLASH+SURNAME);
|
|
237 |
if(surNames != null && !surNames.isEmpty()) {
|
|
238 |
surname = (String)surNames.get(0);
|
|
239 |
}
|
|
240 |
aUser.setSurName(surname);
|
|
241 |
String givenName = null;
|
|
242 |
List<Object> givenNames = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+user+"']"+SLASH+GIVENNAME);
|
|
243 |
if(givenNames != null && !givenNames.isEmpty()) {
|
|
244 |
givenName = (String)givenNames.get(0);
|
|
245 |
}
|
|
246 |
aUser.setGivenName(givenName);
|
|
247 |
userinfo[AuthInterface.USERINFOCNINDEX] = aUser.getCn();//common name
|
|
248 |
String organization = null;
|
|
249 |
List<Object> organizations = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+user+"']"+SLASH+ORGANIZATION);
|
|
250 |
if(organizations != null && !organizations.isEmpty()) {
|
|
251 |
organization = (String)organizations.get(0);
|
|
252 |
}
|
|
253 |
userinfo[AuthInterface.USERINFOORGANIDEX] = organization;//organization name.
|
|
254 |
aUser.setOrganization(organization);
|
|
255 |
List<Object> emails = userpassword.getList(USERS+SLASH+USER+"["+AT+DN+"='"+user+"']"+SLASH+EMAIL);
|
|
256 |
String email = null;
|
|
257 |
if(emails != null && !emails.isEmpty() ) {
|
|
258 |
email = (String)emails.get(0);
|
|
259 |
}
|
|
260 |
aUser.setEmail(email);
|
|
261 |
userinfo[AuthInterface.USERINFOEMAILINDEX] = email;
|
|
262 |
return userinfo;
|
246 |
263 |
}
|
247 |
264 |
|
248 |
265 |
|
... | ... | |
343 |
360 |
out.append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
|
344 |
361 |
out.append("<principals>\n");
|
345 |
362 |
out.append(" <authSystem URI=\"" +authURI
|
346 |
|
+ "\" organization=\"" + ORGANIZATION + "\">\n");
|
|
363 |
+ "\" organization=\"" + ORGANIZATIONNAME + "\">\n");
|
347 |
364 |
|
348 |
365 |
// get all groups for directory context
|
349 |
366 |
String[][] groups = getGroups(user, password);
|
... | ... | |
578 |
595 |
private String givenName = null;
|
579 |
596 |
private String cn = null;//the common name
|
580 |
597 |
private String[] groups = null;
|
|
598 |
private String organization = null;
|
581 |
599 |
|
582 |
600 |
/**
|
|
601 |
* Get the organization of the user
|
|
602 |
* @return
|
|
603 |
*/
|
|
604 |
public String getOrganization() {
|
|
605 |
return organization;
|
|
606 |
}
|
|
607 |
|
|
608 |
/**
|
|
609 |
* Set the organization for the user.
|
|
610 |
* @param organization
|
|
611 |
*/
|
|
612 |
public void setOrganization(String organization) {
|
|
613 |
this.organization = organization;
|
|
614 |
}
|
|
615 |
/**
|
583 |
616 |
* Get the distinguish name of the user
|
584 |
617 |
* @return the distinguish name
|
585 |
618 |
*/
|
Add the getUserInfo method.