mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 17:38:32 +08:00
org.dromara.maxkey.ldap
This commit is contained in:
parent
b982f5f7f2
commit
e62b2ab82a
@ -21,7 +21,7 @@
|
||||
package org.dromara.maxkey.authn.realm.ldap;
|
||||
|
||||
import org.dromara.maxkey.authn.realm.IAuthenticationServer;
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
@ -23,8 +23,8 @@ import java.util.concurrent.TimeUnit;
|
||||
import org.dromara.maxkey.authn.realm.IAuthenticationServer;
|
||||
import org.dromara.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.dromara.maxkey.entity.LdapContext;
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.persistence.service.LdapContextService;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Cache;
|
||||
|
||||
@ -26,7 +26,7 @@ import javax.naming.directory.SearchControls;
|
||||
import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.dromara.maxkey.authn.realm.IAuthenticationServer;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.persistence.ldap;
|
||||
package org.dromara.maxkey.ldap;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.persistence.ldap;
|
||||
package org.dromara.maxkey.ldap;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Properties;
|
||||
@ -15,11 +15,12 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.constants.ldap;
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* ActiveDirectoryUser objectclass attribute
|
||||
@ -29,39 +30,9 @@ import java.util.Arrays;
|
||||
*/
|
||||
|
||||
public class ActiveDirectoryUser {
|
||||
public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "person", "organizationalPerson", "user"));
|
||||
|
||||
public static String objectClass = "user";
|
||||
/** userAccountControl值得说明
|
||||
* http://support.microsoft.com/zh-cn/kb/305144
|
||||
* https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
|
||||
*/
|
||||
public static class userAccountControl{
|
||||
//Property flag Value in hexadecimal Value in decimal
|
||||
public static final int SCRIPT =0x0001 ;// 1
|
||||
public static final int ACCOUNTDISABLE =0x0002 ;// 2
|
||||
public static final int HOMEDIR_REQUIRED =0x0008 ;// 8
|
||||
public static final int LOCKOUT =0x0010 ;// 16
|
||||
public static final int PASSWD_NOTREQD =0x0020 ;// 32
|
||||
public static final int PASSWD_CANT_CHANGE =0x0040 ;// 64 You can't assign this permission by directly modifying the UserAccountControl attribute. For information about how to set the permission programmatically, see the Property flag descriptions section.
|
||||
public static final int ENCRYPTED_TEXT_PWD_ALLOWED =0x0080 ;// 128
|
||||
public static final int TEMP_DUPLICATE_ACCOUNT =0x0100 ;// 256
|
||||
public static final int NORMAL_ACCOUNT =0x0200 ;// 512
|
||||
public static final int INTERDOMAIN_TRUST_ACCOUNT =0x0800 ;// 2048
|
||||
public static final int WORKSTATION_TRUST_ACCOUNT =0x1000 ;// 4096
|
||||
public static final int SERVER_TRUST_ACCOUNT =0x2000 ;// 8192
|
||||
public static final int DONT_EXPIRE_PASSWORD =0x10000 ;// 65536
|
||||
public static final int MNS_LOGON_ACCOUNT =0x20000 ;// 131072
|
||||
public static final int SMARTCARD_REQUIRED =0x40000 ;// 262144
|
||||
public static final int TRUSTED_FOR_DELEGATION =0x80000 ;// 524288
|
||||
public static final int NOT_DELEGATED =0x100000 ;// 1048576
|
||||
public static final int USE_DES_KEY_ONLY =0x200000 ;// 2097152
|
||||
public static final int DONT_REQ_PREAUTH =0x400000 ;// 4194304
|
||||
public static final int PASSWORD_EXPIRED =0x800000 ;// 8388608
|
||||
public static final int TRUSTED_TO_AUTH_FOR_DELEGATION =0x1000000 ;// 16777216
|
||||
public static final int PARTIAL_SECRETS_ACCOUNT =0x04000000 ;// 67108864
|
||||
}
|
||||
public static final List<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "person", "organizationalPerson", "user"));
|
||||
|
||||
public static final String objectClass = "user";
|
||||
/*
|
||||
*常规
|
||||
* 名 First Name givenName
|
||||
@ -0,0 +1,33 @@
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
/** userAccountControl值得说明
|
||||
* http://support.microsoft.com/zh-cn/kb/305144
|
||||
* https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
|
||||
*/
|
||||
public class ActiveDirectoryUserAccountControl {
|
||||
|
||||
//Property flag Value in hexadecimal Value in decimal
|
||||
public static final int SCRIPT =0x0001 ;// 1
|
||||
public static final int ACCOUNTDISABLE =0x0002 ;// 2
|
||||
public static final int HOMEDIR_REQUIRED =0x0008 ;// 8
|
||||
public static final int LOCKOUT =0x0010 ;// 16
|
||||
public static final int PASSWD_NOTREQD =0x0020 ;// 32
|
||||
public static final int PASSWD_CANT_CHANGE =0x0040 ;// 64 You can't assign this permission by directly modifying the UserAccountControl attribute. For information about how to set the permission programmatically, see the Property flag descriptions section.
|
||||
public static final int ENCRYPTED_TEXT_PWD_ALLOWED =0x0080 ;// 128
|
||||
public static final int TEMP_DUPLICATE_ACCOUNT =0x0100 ;// 256
|
||||
public static final int NORMAL_ACCOUNT =0x0200 ;// 512
|
||||
public static final int INTERDOMAIN_TRUST_ACCOUNT =0x0800 ;// 2048
|
||||
public static final int WORKSTATION_TRUST_ACCOUNT =0x1000 ;// 4096
|
||||
public static final int SERVER_TRUST_ACCOUNT =0x2000 ;// 8192
|
||||
public static final int DONT_EXPIRE_PASSWORD =0x10000 ;// 65536
|
||||
public static final int MNS_LOGON_ACCOUNT =0x20000 ;// 131072
|
||||
public static final int SMARTCARD_REQUIRED =0x40000 ;// 262144
|
||||
public static final int TRUSTED_FOR_DELEGATION =0x80000 ;// 524288
|
||||
public static final int NOT_DELEGATED =0x100000 ;// 1048576
|
||||
public static final int USE_DES_KEY_ONLY =0x200000 ;// 2097152
|
||||
public static final int DONT_REQ_PREAUTH =0x400000 ;// 4194304
|
||||
public static final int PASSWORD_EXPIRED =0x800000 ;// 8388608
|
||||
public static final int TRUSTED_TO_AUTH_FOR_DELEGATION =0x1000000 ;// 16777216
|
||||
public static final int PARTIAL_SECRETS_ACCOUNT =0x04000000 ;// 67108864
|
||||
|
||||
}
|
||||
@ -15,10 +15,11 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.constants.ldap;
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* GroupOfNames objectclass attribute
|
||||
@ -27,9 +28,9 @@ import java.util.Arrays;
|
||||
*
|
||||
*/
|
||||
public class GroupOfNames {
|
||||
public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "groupOfNames"));
|
||||
public static final List<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "groupOfNames"));
|
||||
|
||||
public static String objectClass = "groupOfNames";
|
||||
public static final String objectClass = "groupOfNames";
|
||||
public static final String DISTINGUISHEDNAME = "distinguishedname";
|
||||
public static final String CN = "cn";
|
||||
public static final String MEMBER = "member";
|
||||
@ -15,10 +15,11 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.constants.ldap;
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* GroupOfUniqueNames objectclass attribute
|
||||
@ -27,9 +28,9 @@ import java.util.Arrays;
|
||||
*
|
||||
*/
|
||||
public class GroupOfUniqueNames {
|
||||
public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "groupOfUniqueNames"));
|
||||
public static List<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "groupOfUniqueNames"));
|
||||
|
||||
public static String objectClass = "groupOfUniqueNames";
|
||||
public static final String objectClass = "groupOfUniqueNames";
|
||||
public static final String DISTINGUISHEDNAME = "distinguishedname";
|
||||
public static final String CN = "cn";
|
||||
public static final String UNIQUEMEMBER = "uniqueMember";
|
||||
@ -15,10 +15,11 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.constants.ldap;
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* InetOrgPerson objectclass attribute
|
||||
@ -27,9 +28,9 @@ import java.util.Arrays;
|
||||
*
|
||||
*/
|
||||
public class InetOrgPerson {
|
||||
public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "person","organizationalPerson","inetOrgPerson"));
|
||||
public static final List<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "person","organizationalPerson","inetOrgPerson"));
|
||||
|
||||
public static String objectClass = "inetOrgPerson";
|
||||
public static final String objectClass = "inetOrgPerson";
|
||||
public static final String DISTINGUISHEDNAME = "distinguishedname";
|
||||
//person sup top
|
||||
/**person sn MUST*/
|
||||
@ -15,10 +15,11 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.constants.ldap;
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Organization objectclass attribute
|
||||
@ -27,9 +28,9 @@ import java.util.Arrays;
|
||||
*
|
||||
*/
|
||||
public class Organization {
|
||||
public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "organization"));
|
||||
public static List<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "organization"));
|
||||
|
||||
public static String objectClass = "organization";
|
||||
public static final String objectClass = "organization";
|
||||
public static final String DISTINGUISHEDNAME = "distinguishedname";
|
||||
|
||||
/**Organization o*/
|
||||
@ -15,10 +15,11 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.dromara.maxkey.constants.ldap;
|
||||
package org.dromara.maxkey.ldap.constants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* OrganizationalUnit objectclass attribute
|
||||
@ -27,8 +28,8 @@ import java.util.Arrays;
|
||||
*
|
||||
*/
|
||||
public class OrganizationalUnit {
|
||||
public static ArrayList<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "OrganizationalUnit"));
|
||||
public static String objectClass = "OrganizationalUnit";
|
||||
public static final List<String> OBJECTCLASS = new ArrayList<>(Arrays.asList("top", "OrganizationalUnit"));
|
||||
public static final String objectClass = "OrganizationalUnit";
|
||||
public static final String DISTINGUISHEDNAME = "distinguishedname";
|
||||
/**OrganizationalUnit ou*/
|
||||
public static final String OU = "ou";
|
||||
@ -55,8 +55,6 @@ import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
|
||||
import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder;
|
||||
|
||||
import com.nimbusds.jose.JOSEException;
|
||||
|
||||
@AutoConfiguration
|
||||
public class ApplicationAutoConfiguration implements InitializingBean {
|
||||
static final Logger _logger = LoggerFactory.getLogger(ApplicationAutoConfiguration.class);
|
||||
|
||||
@ -20,7 +20,7 @@ package org.dromara.maxkey.persistence.ldap;
|
||||
import javax.naming.NamingException;
|
||||
import javax.naming.directory.DirContext;
|
||||
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
|
||||
public class ActiveDirectoryUtilsTest {
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
@ -19,12 +19,12 @@ package org.dromara.maxkey.provision;
|
||||
|
||||
public class ProvisionAction {
|
||||
|
||||
public static String CREATE_ACTION = "CREATE_ACTION";
|
||||
public static final String CREATE_ACTION = "CREATE_ACTION";
|
||||
|
||||
public static String DELETE_ACTION = "DELETE_ACTION";
|
||||
public static final String DELETE_ACTION = "DELETE_ACTION";
|
||||
|
||||
public static String UPDATE_ACTION = "UPDATE_ACTION";
|
||||
public static final String UPDATE_ACTION = "UPDATE_ACTION";
|
||||
|
||||
public static String PASSWORD_ACTION = "PASSWORD_ACTION";
|
||||
public static final String PASSWORD_ACTION = "PASSWORD_ACTION";
|
||||
|
||||
}
|
||||
|
||||
@ -19,22 +19,22 @@ package org.dromara.maxkey.provision;
|
||||
|
||||
public class ProvisionTopic {
|
||||
|
||||
public final static String USERINFO_TOPIC = "MXK_IDENTITY_USERINFO_TOPIC";
|
||||
public static final String USERINFO_TOPIC = "MXK_IDENTITY_USERINFO_TOPIC";
|
||||
|
||||
public final static String PASSWORD_TOPIC = "MXK_IDENTITY_USERINFO_PASSWORD_TOPIC";
|
||||
public static final String PASSWORD_TOPIC = "MXK_IDENTITY_USERINFO_PASSWORD_TOPIC";
|
||||
|
||||
public final static String ORG_TOPIC = "MXK_IDENTITY_ORG_TOPIC";
|
||||
public static final String ORG_TOPIC = "MXK_IDENTITY_ORG_TOPIC";
|
||||
|
||||
public final static String ACCOUNT_TOPIC = "MXK_IDENTITY_ACCOUNT_TOPIC";
|
||||
public static final String ACCOUNT_TOPIC = "MXK_IDENTITY_ACCOUNT_TOPIC";
|
||||
|
||||
public final static String ROLE_TOPIC = "MXK_ROLE_TOPIC";
|
||||
public static final String ROLE_TOPIC = "MXK_ROLE_TOPIC";
|
||||
|
||||
public final static String ROLE_MEMBER_TOPIC = "MXK_ROLE_MEMBER_TOPIC";
|
||||
public static final String ROLE_MEMBER_TOPIC = "MXK_ROLE_MEMBER_TOPIC";
|
||||
|
||||
public final static String ROLE_PRIVILEGES_TOPIC = "MXK_ROLE_PRIVILEGES_TOPIC";
|
||||
public static final String ROLE_PRIVILEGES_TOPIC = "MXK_ROLE_PRIVILEGES_TOPIC";
|
||||
|
||||
public final static String RESOURCE_TOPIC = "MXK_RESOURCE_TOPIC";
|
||||
public static final String RESOURCE_TOPIC = "MXK_RESOURCE_TOPIC";
|
||||
|
||||
public final static String CONNECTOR_HISTORY_TOPIC = "MXK_CONNECTOR_HISTORY_TOPIC";
|
||||
public static final String CONNECTOR_HISTORY_TOPIC = "MXK_CONNECTOR_HISTORY_TOPIC";
|
||||
|
||||
}
|
||||
|
||||
@ -25,11 +25,11 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.dromara.maxkey.constants.ConstsBoolean;
|
||||
import org.dromara.maxkey.constants.ldap.ActiveDirectoryUser;
|
||||
import org.dromara.maxkey.entity.ExtraAttr;
|
||||
import org.dromara.maxkey.entity.ExtraAttrs;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.entity.apps.AppsSAML20Details;
|
||||
import org.dromara.maxkey.ldap.constants.ActiveDirectoryUser;
|
||||
import org.opensaml.Configuration;
|
||||
import org.opensaml.saml2.core.Attribute;
|
||||
import org.opensaml.saml2.core.AttributeStatement;
|
||||
|
||||
@ -27,12 +27,12 @@ import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.constants.ldap.OrganizationalUnit;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.OrganizationalUnit;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
package org.dromara.maxkey.synchronizer.activedirectory;
|
||||
|
||||
import org.dromara.maxkey.entity.Synchronizers;
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -26,14 +26,14 @@ import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.constants.ldap.ActiveDirectoryUser;
|
||||
import org.dromara.maxkey.crypto.DigestUtils;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.ActiveDirectoryUser;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -28,11 +28,11 @@ import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ConstsStatus;
|
||||
import org.dromara.maxkey.constants.ldap.OrganizationalUnit;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.OrganizationalUnit;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
package org.dromara.maxkey.synchronizer.ldap;
|
||||
|
||||
import org.dromara.maxkey.entity.Synchronizers;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -25,13 +25,13 @@ import javax.naming.directory.SearchControls;
|
||||
import javax.naming.directory.SearchResult;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.maxkey.constants.ldap.InetOrgPerson;
|
||||
import org.dromara.maxkey.crypto.DigestUtils;
|
||||
import org.dromara.maxkey.entity.HistorySynchronizer;
|
||||
import org.dromara.maxkey.entity.Organizations;
|
||||
import org.dromara.maxkey.entity.SynchroRelated;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.constants.InetOrgPerson;
|
||||
import org.dromara.maxkey.synchronizer.AbstractSynchronizerService;
|
||||
import org.dromara.maxkey.synchronizer.ISynchronizerService;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
@ -23,8 +23,8 @@ import org.dromara.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.dromara.maxkey.entity.LdapContext;
|
||||
import org.dromara.maxkey.entity.Message;
|
||||
import org.dromara.maxkey.entity.UserInfo;
|
||||
import org.dromara.maxkey.persistence.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.persistence.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.ldap.ActiveDirectoryUtils;
|
||||
import org.dromara.maxkey.ldap.LdapUtils;
|
||||
import org.dromara.maxkey.persistence.service.LdapContextService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user