Class ADInternalHybridUserSource
java.lang.Object
com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
com.inductiveautomation.ignition.gateway.authentication.impl.InternalUserSource
com.inductiveautomation.ignition.gateway.authentication.impl.ADInternalHybridUserSource
- All Implemented Interfaces:
SSOCompatibleADUserSource
,UserSourceProfile
,UserSourceProfileKernel
public class ADInternalHybridUserSource
extends InternalUserSource
implements SSOCompatibleADUserSource
-
Field Summary
Fields inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfile
PWD_EXPIRATION_BYPASS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
alterUser
(User user, UICallback ui) authenticate
(AuthChallenge challenge) Called to both verify authentication for a given username/password pair, and to find the security roles for that user.authenticateAD
(AuthChallenge challenge) Callback to the standard, non-SSO version of this user source's auth logicfindSSOUser
(String uname) Used by the SSO helper in order to search for a user with a given username.protected Long
findUserInternalId
(PersistenceSession session, User user) Our superclass stores the internal user id as the User object's id, but we don't.Which of the editing functions are supported?Fetch aUser
with the given user name.getUsers()
Retrieve all users from this profile.void
setAllowAnon
(boolean anon) void
setEmailAttribute
(String emailAttribute) void
setFullNameAttribute
(String fullNameAttribute) void
setLdapHost
(String ldapHost) void
setLdapPort
(String ldapPort) void
setListUsersFromAD
(boolean listUsersFromAD) void
setPageSize
(int size) void
setPhoneAttribute
(String phoneAttribute) void
setPopulateUsersOnDemand
(boolean populateUsersOnDemand) void
setProfilePassword
(String profilePassword) void
setProfileUsername
(String profileUsername) void
setReadTimeout
(Long readTimeOut) void
setReferral
(LDAPHelper.ReferralType referral) void
setSaslConfig
(SASLConfig saslConfig) void
setSecondaryLdapHost
(String secondaryLdapHost) void
setSecondaryLdapPort
(String secondaryLdapPort) void
setSecurityAuthentication
(LDAPHelper.AuthType securityAuthentication) void
setSecurityProtocol
(LDAPHelper.ProtocolType securityProtocol) void
setSmsAttribute
(String smsAttribute) void
setSSODomain
(String ssoDomain) void
setSSOEnabled
(boolean enabled) void
setUsePrefixAndSuffixForGatewayUser
(boolean usePrefixAndSuffixForGatewayUser) void
setUserListFilter
(String userListFilter) void
setUserNameAttribute
(String userNameAttribute) void
setUsernamePrefix
(String usernamePrefix) void
setUsernameSuffix
(String usernameSuffix) void
setUserSearchBase
(String userSearchBase) void
setUserSearchFilter
(String userSearchFilter) void
setUseSSL
(boolean useSsl) void
startup
(UserSourceManager manager) Called when the user source is created before it is used.toString()
Methods inherited from class com.inductiveautomation.ignition.gateway.authentication.impl.InternalUserSource
addRole, addUser, addUserInternal, alterPassword, createDefaultUserSource, createFirstUser, findInternalUser, getRoles, removeRole, removeUser, renameRole, validatePassword
Methods inherited from class com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
getName, getRoles, getUser, getUsers
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, wait, wait, wait
Methods inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfile
getCacheValidationTimeout, getProfileId, shutdown
-
Constructor Details
-
ADInternalHybridUserSource
-
-
Method Details
-
startup
Description copied from interface:UserSourceProfileKernel
Called when the user source is created before it is used.- Specified by:
startup
in interfaceUserSourceProfile
- Specified by:
startup
in interfaceUserSourceProfileKernel
- Overrides:
startup
in classUserSourceProfileKernelWrapper
-
findUserInternalId
Our superclass stores the internal user id as the User object's id, but we don't. We store the username as the ID. This function looks up the internal database id of a user for the superclass's benefit.- Overrides:
findUserInternalId
in classInternalUserSource
-
alterUser
- Specified by:
alterUser
in interfaceUserSourceProfile
- Overrides:
alterUser
in classInternalUserSource
- Throws:
Exception
-
authenticate
Description copied from interface:UserSourceProfile
Called to both verify authentication for a given username/password pair, and to find the security roles for that user.- Specified by:
authenticate
in interfaceUserSourceProfile
- Overrides:
authenticate
in classInternalUserSource
- Returns:
- An AuthenticatedUser that contains the user's roles if authentication succeeded, or null if it did not.
- Throws:
PasswordExpiredException
- if the user's password has expired and must be resetException
- if there was an unexpected problem encountered during authentication
-
getUsers
Description copied from interface:UserSourceProfile
Retrieve 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. Users from failover sources will be returned if hard failover is configured and triggered.- Specified by:
getUsers
in interfaceUserSourceProfile
- Overrides:
getUsers
in classInternalUserSource
- Throws:
Exception
-
getUser
Description copied from interface:UserSourceProfile
Fetch aUser
with the given user name. If more than one user exists with the given user name, the first user returned from the underlying data source is returned. Failover sources will be queried if hard failover is configured and the primary sources are unable to fetch the user due to an error. Failover sources will also be queried if soft failover is configured and the user is not found in the primary sources.- Specified by:
getUser
in interfaceUserSourceProfile
- Overrides:
getUser
in classInternalUserSource
- Parameters:
userName
- the user name of theUser
to fetch- Returns:
- an
Optional
User
with the given user name. the user may be from a failover user source (checkUser.getProfileName()
to confirm) - Throws:
Exception
- if there is an unexpected problem fetching the user with the given user name- See Also:
-
authenticateAD
Description copied from interface:SSOCompatibleADUserSource
Callback to the standard, non-SSO version of this user source's auth logic- Specified by:
authenticateAD
in interfaceSSOCompatibleADUserSource
- Throws:
Exception
-
findSSOUser
Description copied from interface:SSOCompatibleADUserSource
Used 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:
findSSOUser
in interfaceSSOCompatibleADUserSource
- Throws:
Exception
-
toString
- Overrides:
toString
in classInternalUserSource
-
setPopulateUsersOnDemand
public void setPopulateUsersOnDemand(boolean populateUsersOnDemand) -
setListUsersFromAD
public void setListUsersFromAD(boolean listUsersFromAD) -
setLdapHost
-
setLdapPort
-
setSecondaryLdapHost
-
setSecondaryLdapPort
-
setUsernamePrefix
-
setUsernameSuffix
-
setProfileUsername
-
setReadTimeout
-
setProfilePassword
-
setUsePrefixAndSuffixForGatewayUser
public void setUsePrefixAndSuffixForGatewayUser(boolean usePrefixAndSuffixForGatewayUser) -
setUseSSL
public void setUseSSL(boolean useSsl) -
setAllowAnon
public void setAllowAnon(boolean anon) -
setSecurityAuthentication
-
setSecurityProtocol
-
setUserSearchBase
-
setUserSearchFilter
-
setUserListFilter
-
setUserNameAttribute
-
setFullNameAttribute
-
setEmailAttribute
-
setPhoneAttribute
-
setSmsAttribute
-
setPageSize
public void setPageSize(int size) -
setSSOEnabled
public void setSSOEnabled(boolean enabled) -
setSSODomain
-
setSaslConfig
-
setReferral
-
getEditFlags
Description copied from interface:UserSourceProfile
Which of the editing functions are supported?- Specified by:
getEditFlags
in interfaceUserSourceProfile
- Overrides:
getEditFlags
in classInternalUserSource
-