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
IDENTIFIER_MDC_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidalterUser(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.authenticateBadge(String badge, String pwd, boolean passwordRequired) Authenticates a user with a badge.authenticateUsernamePassword(String uname, String pwd) findSSOUser(String uname) Used by the SSO helper in order to search for a user with a given username.protected StringfindUserInternalId(User user) Find the internal ID of the user.protected StringGenerate a UUID for anInternalUserResource.Which of the editing functions are supported?Fetch aUserwith the given user name.getUsers()Retrieve all users from this profile.protected StringselectInternalUserId(InternalUserResource internalUser) Select the internal user ID from theInternalUserResource.voidsetAllowAnon(boolean anon) voidsetEmailAttribute(String emailAttribute) voidsetExtraUserAttributes(List<ExtraLdapAttribute> extraUserAttributes) Set the extra LDAP attributes that we have been configured to return when looking up a user.voidsetFullNameAttribute(String fullNameAttribute) voidsetLdapHost(String ldapHost) voidsetLdapPort(String ldapPort) voidsetListUsersFromAD(boolean listUsersFromAD) voidsetPageSize(int size) voidsetPhoneAttribute(String phoneAttribute) voidsetPopulateUsersOnDemand(boolean populateUsersOnDemand) voidsetProfilePassword(SecretConfig profilePassword) voidsetProfileUsername(String profileUsername) voidsetReadTimeout(Long readTimeOut) voidsetReferral(LDAPHelper.ReferralType referral) voidsetSaslConfig(SASLConfig saslConfig) voidsetSecondaryLdapHost(String secondaryLdapHost) voidsetSecondaryLdapPort(String secondaryLdapPort) voidsetSecurityAuthentication(LDAPHelper.AuthType securityAuthentication) voidsetSecurityProtocol(LDAPHelper.ProtocolType securityProtocol) voidsetSmsAttribute(String smsAttribute) voidsetSSODomain(String ssoDomain) voidsetSSOEnabled(boolean enabled) voidsetUsePrefixAndSuffixForGatewayUser(boolean usePrefixAndSuffixForGatewayUser) voidsetUserIdAttribute(LdapAttribute userIdAttribute) voidsetUserListFilter(String userListFilter) voidsetUserNameAttribute(String userNameAttribute) voidsetUsernamePrefix(String usernamePrefix) voidsetUsernameSuffix(String usernameSuffix) voidsetUserSearchBase(String userSearchBase) voidsetUserSearchFilter(String userSearchFilter) voidsetUseSSL(boolean useSsl) voidstartup(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, alterRole, findInternalUser, getRoles, removeRole, removeUser, validatePasswordMethods inherited from class com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
getName, getRoles, getUser, getUsersMethods inherited from class com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
getCacheValidationTimeout, getContext, getManager, getProfileName, isLockedOut, notifyFailedAttempt, shutdownMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.inductiveautomation.ignition.gateway.authentication.impl.SSOCompatibleADUserSource
authenticateADMethods inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfile
getCacheValidationTimeout, shutdown
-
Constructor Details
-
ADInternalHybridUserSource
-
-
Method Details
-
startup
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
-
generateUuid
Description copied from class:InternalUserSourceGenerate a UUID for anInternalUserResource.- Overrides:
generateUuidin classInternalUserSource- Returns:
- A UUID string or null if no UUID is generated.
-
selectInternalUserId
Description copied from class:InternalUserSourceSelect the internal user ID from theInternalUserResource.- Overrides:
selectInternalUserIdin classInternalUserSource- Parameters:
internalUser- The internal user resource to get the ID of.- Returns:
- The ID of the internal user.
-
alterUser
- Specified by:
alterUserin interfaceUserSourceProfile- Overrides:
alterUserin classInternalUserSource- Throws:
Exception
-
findUserInternalId
Description copied from class:InternalUserSourceFind the internal ID of the user. This is used to identify the user in the JSON resource.- Overrides:
findUserInternalIdin classInternalUserSource- Parameters:
user- The user to find the ID for.- Returns:
- The internal ID of the user.
-
authenticate
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- Overrides:
authenticatein 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: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. Users from failover sources will be returned if hard failover is configured and triggered.- Specified by:
getUsersin interfaceUserSourceProfile- Overrides:
getUsersin classInternalUserSource- Throws:
Exception
-
getUser
Description copied from interface:UserSourceProfileFetch aUserwith 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:
getUserin interfaceUserSourceProfile- Overrides:
getUserin classInternalUserSource- Parameters:
userName- the user name of theUserto fetch- Returns:
- an
OptionalUserwith 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:
-
authenticateUsernamePassword
- Specified by:
authenticateUsernamePasswordin interfaceSSOCompatibleADUserSource- Throws:
Exception
-
authenticateBadge
public AuthenticatedUser authenticateBadge(String badge, @Nullable String pwd, boolean passwordRequired) throws Exception Authenticates a user with a badge. If the badge is associated with a user in the internal user store, it will return anAuthenticatedUserinstance populated with the user's information. If the badge is not associated with any user, it will return null.- Specified by:
authenticateBadgein interfaceSSOCompatibleADUserSource- Parameters:
badge- the badge to authenticatepwd- the password associated with the badge, or null if no password is requiredpasswordRequired- whether a password is required in addition to the badge for authentication- Returns:
- an
AuthenticatedUserinstance if authentication is successful, or null if authentication fails - Throws:
Exception- if there is an error during the LDAP search or user creation
-
findSSOUser
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:
Exception
-
toString
- Overrides:
toStringin 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
-
setUserIdAttribute
-
setFullNameAttribute
-
setEmailAttribute
-
setPhoneAttribute
-
setSmsAttribute
-
setPageSize
public void setPageSize(int size) -
setSSOEnabled
public void setSSOEnabled(boolean enabled) -
setSSODomain
-
setSaslConfig
-
setReferral
-
setExtraUserAttributes
Set the extra LDAP attributes that we have been configured to return when looking up a user.- Parameters:
extraUserAttributes- The configured list of additional user attributes.
-
getEditFlags
Description copied from interface:UserSourceProfileWhich of the editing functions are supported?- Specified by:
getEditFlagsin interfaceUserSourceProfile- Overrides:
getEditFlagsin classInternalUserSource
-