Class ActiveDirectoryUserSource
- java.lang.Object
-
- com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
-
- com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
-
- com.inductiveautomation.ignition.gateway.authentication.impl.ActiveDirectoryUserSource
-
- All Implemented Interfaces:
SSOCompatibleADUserSource,UserSourceProfile,UserSourceProfileKernel
public class ActiveDirectoryUserSource extends AbstractUserSourceProfile implements SSOCompatibleADUserSource
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_ROLE_LIST_FILTERDefault group search filter for finding all groupsstatic java.lang.StringDEFAULT_USER_LIST_FILTERDefault group search filter for finding all usersstatic java.lang.StringDEFAULT_USER_SEARCH_FILTERDefault user search filter for looking for a single user-
Fields inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfile
PWD_EXPIRATION_BYPASS
-
-
Constructor Summary
Constructors Constructor Description ActiveDirectoryUserSource(UserSourceProfileKernel kernel)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AuthenticatedUserauthenticate(AuthChallenge challenge)Called to both verify authentication for a given username/password pair, and to find the security roles for that user.AuthenticatedUserauthenticateAD(AuthChallenge challenge)Callback to the standard, non-SSO version of this user source's auth logicUserfindSSOUser(java.lang.String uname)Used by the SSO helper in order to search for a user with a given username.@NotNull java.util.Collection<java.lang.String>getRoles()@NotNull java.util.Collection<User>getUsers()Retrieve all users from this profile.static voidmain(java.lang.String[] args)voidsetAllowAnon(boolean anon)voidsetEmailAttribute(java.lang.String emailAttribute)voidsetFullNameAttribute(java.lang.String fullNameAttribute)voidsetLdapHost(java.lang.String ldapHost)voidsetLdapPort(java.lang.String ldapPort)voidsetPageSize(int size)voidsetPhoneAttribute(java.lang.String phoneAttribute)voidsetProfilePassword(java.lang.String profilePassword)voidsetProfileUsername(java.lang.String profileUsername)voidsetReadTimeout(java.lang.Long readTimeout)voidsetRoleNameAttribute(java.lang.String roleNameAttribute)voidsetRoleSearchBase(java.lang.String roleSearchBase)voidsetRoleSearchFilter(java.lang.String roleSearchFilter)voidsetSaslConfig(SASLConfig saslConfig)voidsetSecondaryLdapHost(java.lang.String secondaryLdapHost)voidsetSecondaryLdapPort(java.lang.String secondaryLdapPort)voidsetSecurityAuthentication(LDAPHelper.AuthType securityAuthentication)voidsetSecurityProtocol(LDAPHelper.ProtocolType securityProtocol)voidsetSmsAttribute(java.lang.String smsAttribute)voidsetSSODomain(java.lang.String ssoDomain)voidsetSSOEnabled(boolean enabled)voidsetUserListFilter(java.lang.String userListFilter)voidsetUserNameAttribute(java.lang.String usernameAttribute)voidsetUsernamePrefix(java.lang.String usernamePrefix)voidsetUsernameSuffix(java.lang.String usernameSuffix)voidsetUserRoleAttribute(java.lang.String userRoleAttribute)voidsetUserSearchBase(java.lang.String userSearchBase)voidsetUserSearchFilter(java.lang.String userSearchFilter)voidsetUseSSL(boolean useSsl)voidstartup(UserSourceManager manager)Called when the user source is created before it is used.-
Methods inherited from class com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
addRole, addUser, alterPassword, alterUser, getEditFlags, getName, getUser, removeRole, removeUser, renameRole
-
Methods inherited from class com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
getCacheValidationTimeout, getContext, getManager, getProfileId, getProfileName, isLockedOut, notifyFailedAttempt, shutdown
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfile
getCacheValidationTimeout, getProfileId, shutdown, validatePassword
-
-
-
-
Field Detail
-
DEFAULT_USER_SEARCH_FILTER
public static final java.lang.String DEFAULT_USER_SEARCH_FILTER
Default user search filter for looking for a single user- See Also:
- Constant Field Values
-
DEFAULT_USER_LIST_FILTER
public static final java.lang.String DEFAULT_USER_LIST_FILTER
Default group search filter for finding all users- See Also:
- Constant Field Values
-
DEFAULT_ROLE_LIST_FILTER
public static final java.lang.String DEFAULT_ROLE_LIST_FILTER
Default group search filter for finding all groups- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ActiveDirectoryUserSource
public ActiveDirectoryUserSource(UserSourceProfileKernel kernel)
-
-
Method Detail
-
startup
public void startup(UserSourceManager manager)
Description copied from interface:UserSourceProfileKernelCalled when the user source is created before it is used.- Specified by:
startupin interfaceUserSourceProfile- Specified by:
startupin interfaceUserSourceProfileKernel- Overrides:
startupin classUserSourceProfileKernelWrapper
-
getUsers
@NotNull public @NotNull java.util.Collection<User> getUsers() throws java.lang.Exception
Description copied from interface:UserSourceProfileRetrieve all users from this profile. This can execute slowly (block) if need be. It will be called periodically by the manager and the results will be cached.- Specified by:
getUsersin interfaceUserSourceProfile- Throws:
java.lang.Exception
-
authenticate
public AuthenticatedUser authenticate(AuthChallenge challenge) throws java.lang.Exception
Description copied from interface:UserSourceProfileCalled to both verify authentication for a given username/password pair, and to find the security roles for that user.- Specified by:
authenticatein interfaceUserSourceProfile- Returns:
- An AuthenticatedUser that contains the user's roles if authentication succeeded, or null if it did not.
- Throws:
java.lang.Exception
-
authenticateAD
public AuthenticatedUser authenticateAD(AuthChallenge challenge) throws java.lang.Exception
Description copied from interface:SSOCompatibleADUserSourceCallback to the standard, non-SSO version of this user source's auth logic- Specified by:
authenticateADin interfaceSSOCompatibleADUserSource- Throws:
java.lang.Exception
-
findSSOUser
public User findSSOUser(java.lang.String uname) throws java.lang.Exception
Description copied from interface:SSOCompatibleADUserSourceUsed by the SSO helper in order to search for a user with a given username. Return null if no user with this username is found.- Specified by:
findSSOUserin interfaceSSOCompatibleADUserSource- Throws:
java.lang.Exception
-
getRoles
@NotNull public @NotNull java.util.Collection<java.lang.String> getRoles() throws java.lang.Exception- Specified by:
getRolesin interfaceUserSourceProfile- Returns:
- a collection of all possible role names for this profile. May be empty
- Throws:
java.lang.Exception
-
main
public static void main(java.lang.String[] args)
-
setLdapHost
public void setLdapHost(java.lang.String ldapHost)
-
setLdapPort
public void setLdapPort(java.lang.String ldapPort)
-
setProfilePassword
public void setProfilePassword(java.lang.String profilePassword)
-
setProfileUsername
public void setProfileUsername(java.lang.String profileUsername)
-
setRoleSearchBase
public void setRoleSearchBase(java.lang.String roleSearchBase)
-
setRoleSearchFilter
public void setRoleSearchFilter(java.lang.String roleSearchFilter)
-
setSecondaryLdapHost
public void setSecondaryLdapHost(java.lang.String secondaryLdapHost)
-
setSecondaryLdapPort
public void setSecondaryLdapPort(java.lang.String secondaryLdapPort)
-
setUserNameAttribute
public void setUserNameAttribute(java.lang.String usernameAttribute)
-
setUsernamePrefix
public void setUsernamePrefix(java.lang.String usernamePrefix)
-
setUsernameSuffix
public void setUsernameSuffix(java.lang.String usernameSuffix)
-
setUseSSL
public void setUseSSL(boolean useSsl)
-
setAllowAnon
public void setAllowAnon(boolean anon)
-
setSecurityAuthentication
public void setSecurityAuthentication(LDAPHelper.AuthType securityAuthentication)
-
setSecurityProtocol
public void setSecurityProtocol(LDAPHelper.ProtocolType securityProtocol)
-
setReadTimeout
public void setReadTimeout(java.lang.Long readTimeout)
-
setUserSearchBase
public void setUserSearchBase(java.lang.String userSearchBase)
-
setUserSearchFilter
public void setUserSearchFilter(java.lang.String userSearchFilter)
-
setUserListFilter
public void setUserListFilter(java.lang.String userListFilter)
-
setRoleNameAttribute
public void setRoleNameAttribute(java.lang.String roleNameAttribute)
-
setFullNameAttribute
public void setFullNameAttribute(java.lang.String fullNameAttribute)
-
setUserRoleAttribute
public void setUserRoleAttribute(java.lang.String userRoleAttribute)
-
setEmailAttribute
public void setEmailAttribute(java.lang.String emailAttribute)
-
setPhoneAttribute
public void setPhoneAttribute(java.lang.String phoneAttribute)
-
setSmsAttribute
public void setSmsAttribute(java.lang.String smsAttribute)
-
setPageSize
public void setPageSize(int size)
-
setSSOEnabled
public void setSSOEnabled(boolean enabled)
-
setSSODomain
public void setSSODomain(java.lang.String ssoDomain)
-
setSaslConfig
public void setSaslConfig(SASLConfig saslConfig)
-
-