4.62.00 Active Directory Import/Refresh Logic Changes
Import/Refresh Contact Logic
- If AD_CREDENTIALS.INITIAL_IMPORT=0 for Import/Refresh server
- Check all customers to see if CUSTOMER_LOGIN matches either sAMAccountName or userPrincipleName, even those where AD_USER=0
- If CUSTOMER_LOGIN match is found, SET CUSTOMER.AD_USER=1 AND LOGIN=Active Directory userPrincipleName
- If CUSTOMER_LOGIN match is not found, import and SET CUSTOMER.AD_USER=1 AND CUSTOMER_LOGIN =Active Directory userPrincipleName
- Set AD_ CREDENTIALS.INITIAL_IMPORT=1 on completion
- If AD_CREDENTIALS.INITIAL_IMPORT=1 for Import/Refresh server
- This means initial import has already been completed
- Check for existing customers WHERE CUSTOMER_LOGIN=Active Directory userPrincipleName (NOT sAMAccountName) and AD_USER=1
- If CUSTOMER_LOGIN match is found, SET CUSTOMER.AD_USER=1 AND CUSTOMER_LOGIN=Active Directory userPrincipleName
- If CUSTOMER_LOGIN match is not found, import and SET CUSTOMER.AD_USER=1 AND LOGIN=Active Directory userPrincipleName
- If a naming conflict exists between a DB user and a AD user that needs to be imported
- Do not import that user
- Display an error message in a popup
- userPrincipleName was not imported because of a naming conflict with the following customer: Customer_ID - Customer_LastName, Customer_FirstNam
Ex. jdoe@novosolutions.local was not imported because of a naming conflict with the following customer: 34 - Jody, Doe
- Customer_ID - Customer_LastName, Customer_FirstName should be a link to open edit customer form in a new window
- Offer following options
- Overwrite User
- Will allow them to overwrite existing user
- AD_USER attribute should be updated to 1
- LOGIN should be set to userPrincipleName
- All mapped fields should be set
- Retry
- Will retry import
- If no changes, it will still fail
- It will only succeed if they edited customer to resolve naming conflict otherwise same popup will come back
- Ignore or Cancel
- Do nothing, user is not imported
Anonymous Active Directory Customer Login Logic
- If Anonymous Active Directory user is found on a server WHERE AD_CREDENTIALS.INITIAL_IMPORT=0
- Check all customers to see if CUSTOMER_LOGIN matches either sAMAccountName or userPrincipleName, even those where AD_USER=0
- If CUSTOMER_LOGIN match is found, SET CUSTOMER.AD_USER=1 AND CUSTOMER_LOGIN=Active Directory userPrincipleName
- If CUSTOMER_LOGIN match is not found, import and SET CUSTOMER.AD_USER=1 AND LOGIN=Active Directory userPrincipleName
- If Anonymous Active Directory user is found on a server WHERE AD_CREDENTIALS.INITIAL_IMPORT=1
- This means initial import has already been completed
- Check for an existing customer WHERE CUSTOMER_LOGIN=Active Directory userPrincipleName (NOT sAMAccountName) and AD_USER=1
- If CUSTOMER_LOGIN match is found, SET CUSTOMER.AD_USER=1 AND CUSTOMER_LOGIN=Active Directory userPrincipleName
- If CUSTOMER_LOGIN match is not found, import and SET CUSTOMER.AD_USER=1 AND LOGIN=Active Directory userPrincipleName
- Check only customers WHERE AD_USER=1
- If a naming conflict exists between a DB user and a AD user that needs to be imported
- Do not import that user
- Display an error message
- User cannot be authenticated due to naming conflict, please contact System Administrator
Anonymous Active Directory User Login Logic
- Check all users to see if USER_LOGIN matches either sAMAccountName or userPrincipleName, even those where AD_USER=0
- If USER_LOGIN match is found, SET USER.AD_USER=1 AND USER_LOGIN=Active Directory userPrincipleName
- If USER_LOGIN match is not found, import and SET USER.AD_USER=1 AND USER_LOGIN=Active Directory userPrincipleName