--- /dev/null
+package com.pentila.jackrabbit.auth;
+
+import java.util.List;
+
+import org.springframework.ldap.core.LdapTemplate;
+
+
+public class LdapDAO {
+
+ private LdapTemplate ldapTemplate;
+
+ private String attrLogin;
+
+ private String attrId;
+
+ private String branchPeople;
+
+ private String additionalFilter;
+
+ public LdapTemplate getLdapTemplate() {
+ return ldapTemplate;
+ }
+
+ public void setLdapTemplate(LdapTemplate ldapTemplate) {
+ this.ldapTemplate = ldapTemplate;
+ }
+
+ public LdapUser getUserFromLogin(String login){
+
+ String filter = String.format("(%s=%s)", getAttrLogin(), login);
+
+ if (additionalFilter != null && !additionalFilter.equals("")){
+ filter = String.format("(&(%s)(%s))", filter, additionalFilter );
+ }
+
+ List<LdapUser> l = ldapTemplate.search(getBranchPeople(), filter, new LdapUserMapper(getAttrId(), getAttrLogin()));
+
+ if (l != null && !l.isEmpty()){
+ return l.get(0);
+ }
+ return null;
+ }
+
+
+ public String getBranchPeople() {
+ return branchPeople;
+ }
+
+ public void setBranchPeople(String branchPeople) {
+ this.branchPeople = branchPeople;
+ }
+
+ public String getAdditionalFilter() {
+ return additionalFilter;
+ }
+
+ public void setAdditionalFilter(String additionalFilter) {
+ this.additionalFilter = additionalFilter;
+ }
+
+ public String getAttrLogin() {
+ return attrLogin;
+ }
+
+ public void setAttrLogin(String attrLogin) {
+ this.attrLogin = attrLogin;
+ }
+
+ public String getAttrId() {
+ return attrId;
+ }
+
+ public void setAttrId(String attrId) {
+ this.attrId = attrId;
+ }
+
+}