/* (c) 2014-2016 Open Source Geospatial Foundation - all rights reserved * (c) 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.ldap; import org.geoserver.security.config.BaseSecurityNamedServiceConfig; /** * Basic class for LDAP service related configurations. * * @author "Mauro Bartolomeoli - mauro.bartolomeoli@geo-solutions.it" * @author Niels Charlier * */ public abstract class LDAPBaseSecurityServiceConfig extends BaseSecurityNamedServiceConfig { private static final long serialVersionUID = -6478665500954608763L; String serverURL; String groupSearchBase; String groupFilter; //more appropriate name would be groupNameFilter - consistency with userFilter String groupNameAttribute; String allGroupsSearchFilter; String groupSearchFilter; //more appropriate name would be groupMembershipFilter - XStream backwards compatibility String groupMembershipAttribute; String userSearchBase; String userFilter; //more appropriate name would be userNameFilter - XStream backwards compatibility String userNameAttribute; String allUsersSearchFilter; Boolean useTLS; /** * bind to the server before extracting groups * some LDAP server require this (e.g. ActiveDirectory) */ Boolean bindBeforeGroupSearch; String adminGroup; String groupAdminGroup; /** * user complete name for authenticated search of roles */ String user; /** * user complete password for authenticated search of roles */ String password; public LDAPBaseSecurityServiceConfig() { } public LDAPBaseSecurityServiceConfig(LDAPBaseSecurityServiceConfig other) { super(other); serverURL = other.getServerURL(); groupSearchBase = other.getGroupSearchBase(); groupFilter= other.getGroupFilter(); adminGroup = other.getAdminGroup(); groupAdminGroup = other.getGroupAdminGroup(); bindBeforeGroupSearch = other.isBindBeforeGroupSearch(); userFilter = other.getUserFilter(); useTLS = other.isUseTLS(); user = other.getUser(); password = other.getPassword(); } public String getServerURL() { return serverURL; } public void setServerURL(String serverURL) { this.serverURL = serverURL; } public String getGroupSearchBase() { return groupSearchBase; } public void setGroupSearchBase(String groupSearchBase) { this.groupSearchBase = groupSearchBase; } public String getGroupFilter() { return groupFilter; } public void setGroupFilter(String groupSearchFilter) { this.groupFilter = groupSearchFilter; } public void setUseTLS(Boolean useTLS) { this.useTLS = useTLS; } public Boolean isUseTLS() { return useTLS; } public Boolean isBindBeforeGroupSearch() { return bindBeforeGroupSearch == null ? false : bindBeforeGroupSearch; } public void setBindBeforeGroupSearch(Boolean bindBeforeGroupSearch) { this.bindBeforeGroupSearch = bindBeforeGroupSearch; } public String getAdminGroup() { return adminGroup; } public void setAdminGroup(String adminGroup) { this.adminGroup = adminGroup; } public String getGroupAdminGroup() { return groupAdminGroup; } public void setGroupAdminGroup(String groupAdminGroup) { this.groupAdminGroup = groupAdminGroup; } public String getUserFilter() { return userFilter; } public void setUserFilter(String userFilter) { this.userFilter = userFilter; } public String getGroupNameAttribute() { return groupNameAttribute; } public void setGroupNameAttribute(String groupNameAttribute) { this.groupNameAttribute = groupNameAttribute; } public String getAllGroupsSearchFilter() { return allGroupsSearchFilter; } public void setAllGroupsSearchFilter(String allGroupsSearchFilter) { this.allGroupsSearchFilter = allGroupsSearchFilter; } public String getGroupSearchFilter() { return groupSearchFilter; } public void setGroupSearchFilter(String groupMembershipFilter) { this.groupSearchFilter = groupMembershipFilter; } public String getGroupMembershipAttribute() { return groupMembershipAttribute; } public void setGroupMembershipAttribute(String groupMembershipAttribute) { this.groupMembershipAttribute = groupMembershipAttribute; } public String getUserSearchBase() { return userSearchBase; } public void setUserSearchBase(String userSearchBase) { this.userSearchBase = userSearchBase; } public String getUserNameAttribute() { return userNameAttribute; } public void setUserNameAttribute(String userNameAttribute) { this.userNameAttribute = userNameAttribute; } public String getAllUsersSearchFilter() { return allUsersSearchFilter; } public void setAllUsersSearchFilter(String allUsersSearchFilter) { this.allUsersSearchFilter = allUsersSearchFilter; } public Boolean getUseTLS() { return useTLS; } public Boolean getBindBeforeGroupSearch() { return bindBeforeGroupSearch; } public String getUser() { return user; } public void setUser(String userDn) { this.user = userDn; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }