Class DatabaseExpertUserSource
java.lang.Object
com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
com.inductiveautomation.ignition.gateway.authentication.impl.DatabaseExpertUserSource
- All Implemented Interfaces:
- UserSourceProfile,- UserSourceProfileKernel
- Direct Known Subclasses:
- ADtoDBHybridAuthenticator
This Authenticator uses a database and SQL queries to authenticate users and retrieve roles
- 
Field SummaryFields inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfilePWD_EXPIRATION_BYPASS
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionauthenticate(AuthChallenge challenge) Called to both verify authentication for a given username/password pair, and to find the security roles for that user.protected List<ContactInfo>findContactInfo(SRConnection con, String uname) protected PropertySetfindExtraProps(SRConnection con, String uname) findRoles(Connection con, String uname) protected List<ScheduleAdjustment>findScheduleAdjustment(SRConnection con, String uname) protected SRConnectionWhich of the editing functions are supported?getRoles()Fetch aUserwith the given user name.getUsers()Retrieve all users from this profile.protected LoggerExprotected voidTries to extract information out of the dataset at row zero.voidsetAuthenticateBadgeQuery(String authenticateBadgeQuery) voidsetAuthenticateQuery(String string) voidsetDatasource(long id) voidsetFindUserQuery(String findUserQuery) voidsetListContactInfoQuery(String listContactInfoQuery) voidsetListExtraPropsQuery(String listExtraPropsQuery) voidsetListRolesQuery(String string) voidsetListScheduleAdjustmentsQuery(String listScheduleAdjustmentsQuery) voidsetListUserRolesQuery(String string) voidsetListUsersQuery(String listUsersQuery) toString()Methods inherited from class com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfileaddRole, addUser, alterPassword, alterUser, getName, getRoles, getUser, getUsers, removeRole, removeUser, renameRoleMethods inherited from class com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrappergetCacheValidationTimeout, getContext, getManager, getProfileId, getProfileName, isLockedOut, notifyFailedAttempt, shutdown, startupMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfilegetCacheValidationTimeout, getProfileId, shutdown, startup, validatePassword
- 
Constructor Details- 
DatabaseExpertUserSource
 
- 
- 
Method Details- 
newLogger
- 
setTries to extract information out of the dataset at row zero. If the column doesn't exist, fails silently
- 
authenticateDescription copied from interface:UserSourceProfileCalled to both verify authentication for a given username/password pair, and to find the security roles for that user.- 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 reset
- Exception- if there was an unexpected problem encountered during authentication
 
- 
findRoles- Throws:
- Exception
 
- 
findContactInfo@Nonnull protected List<ContactInfo> findContactInfo(SRConnection con, String uname) throws Exception - Throws:
- Exception
 
- 
findScheduleAdjustmentprotected List<ScheduleAdjustment> findScheduleAdjustment(SRConnection con, String uname) throws Exception - Throws:
- Exception
 
- 
findExtraProps- Throws:
- Exception
 
- 
getUsersDescription 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 interface- UserSourceProfile
- Specified by:
- getUsersin class- AbstractUserSourceProfile
- Throws:
- Exception
 
- 
getUserDescription 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 interface- UserSourceProfile
- Overrides:
- getUserin class- AbstractUserSourceProfile
- Parameters:
- userName- the user name of the- Userto 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:
 
- 
getEditFlagsDescription copied from interface:UserSourceProfileWhich of the editing functions are supported?- Specified by:
- getEditFlagsin interface- UserSourceProfile
- Overrides:
- getEditFlagsin class- AbstractUserSourceProfile
 
- 
getRoles- Specified by:
- getRolesin interface- UserSourceProfile
- Specified by:
- getRolesin class- AbstractUserSourceProfile
- Returns:
- a collection of all possible role names for this profile. May be empty. Roles from failover sources will be returned if hard failover is configured and triggered.
- Throws:
- Exception
 
- 
getConnection- Throws:
- SQLException
 
- 
setDatasourcepublic void setDatasource(long id) 
- 
setAuthenticateQuery
- 
setAuthenticateBadgeQuery
- 
setListRolesQuery
- 
setListUserRolesQuery
- 
setListExtraPropsQuery
- 
setListContactInfoQuery
- 
setListScheduleAdjustmentsQuery
- 
setFindUserQuery
- 
setListUsersQuery
- 
toString
 
-