Project

General

Profile

« Previous | Next » 

Revision 49186

Added by Tsampikos Livisianos over 6 years ago

add create ldap user

View differences:

modules/uoa-user-management/trunk/src/main/java/eu/dnetlib/openaire/user/utils/LDAPActions.java
2 2

  
3 3
import com.unboundid.ldap.sdk.*;
4 4
import eu.dnetlib.openaire.user.store.LDAPConnector;
5
import eu.dnetlib.openaire.user.utils.LDAPExceptions.LDAPEmailExistsException;
6
import eu.dnetlib.openaire.user.utils.LDAPExceptions.LDAPUsernameExistsException;
7

  
5 8
import org.apache.log4j.Logger;
6 9
import org.springframework.beans.factory.annotation.Autowired;
7 10

  
......
33 36

  
34 37
        return null;
35 38
    }
39

  
40
    public Entry createUser(String username, String email, String fistName, String lastName, String password) throws Exception{
41

  
42
        Filter uidFilter = Filter.createEqualityFilter("uid", username);
43
        SearchRequest uidRequest = new SearchRequest("dc=openaire,dc=eu", SearchScope.SUB, uidFilter, "cn", "mail", "uid", "objectClass");
44

  
45
        Filter mailFilter = Filter.createEqualityFilter("mail", email);
46
        SearchRequest mailRequest = new SearchRequest("dc=openaire,dc=eu", SearchScope.SUB, mailFilter, "cn", "mail", "uid", "objectClass");
47

  
48
        SearchResult searchResult = ldapConnector.getConnection().search(uidRequest);
49
        if(!searchResult.getSearchEntries().isEmpty()){
50
            throw new LDAPUsernameExistsException(username);
51
        }
52
        searchResult = ldapConnector.getConnection().search(mailRequest);
53
        if(!searchResult.getSearchEntries().isEmpty()){
54
            throw new LDAPEmailExistsException(email);
55
        }
56

  
57
        Entry entry = new Entry("dn: uid=" + username + ",ou=users,dc=openaire,dc=eu",
58
                "objectClass: inetOrgPerson",
59
                "objectClass: eduPerson",
60
                "cn: "  + username,
61
                "uid: " + username,
62
                "displayName: " + fistName + " " + lastName,
63
                "mail: " + email,
64
                "givenName: " + fistName,
65
                "sn: " + lastName,
66
                "eduPersonPrincipalName: " + username + "@openaire.eu",
67
                "userPassword: " + password);
68
        ldapConnector.getConnection().add(entry);
69
        logger.info("User: " + username + " was created successfully!");
70

  
71
        return entry;
72
    }
73

  
36 74
}

Also available in: Unified diff