Class AbstractUserSourceProfile
- java.lang.Object
-
- com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
-
- com.inductiveautomation.ignition.gateway.user.AbstractUserSourceProfile
-
- All Implemented Interfaces:
UserSourceProfile
,UserSourceProfileKernel
- Direct Known Subclasses:
ActiveDirectoryUserSource
,DatabaseAutomaticUserSource
,DatabaseExpertUserSource
,InternalUserSource
public abstract class AbstractUserSourceProfile extends UserSourceProfileKernelWrapper implements UserSourceProfile
-
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.gateway.user.UserSourceProfile
PWD_EXPIRATION_BYPASS
-
-
Constructor Summary
Constructors Constructor Description AbstractUserSourceProfile(UserSourceProfileKernel kernel)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addRole(java.lang.String groupName, UICallback ui)
void
addUser(User user, UICallback ui)
void
alterPassword(User user, java.lang.String oldPassword, java.lang.String newPassword)
void
alterUser(User user, UICallback ui)
java.util.Set<UserSourceEditCapability>
getEditFlags()
Which of the editing functions are supported?java.lang.String
getName()
The name of this user profile.abstract java.util.Collection<java.lang.String>
getRoles()
java.util.Collection<java.lang.String>
getRoles(boolean useFailover)
java.util.Optional<User>
getUser(java.lang.String userName)
Fetch aUser
with the given user name.java.util.Optional<User>
getUser(java.lang.String userName, java.lang.String userSourceProfileName)
Fetch aUser
with the given user name and user source profile name.abstract java.util.Collection<User>
getUsers()
Retrieve all users from this profile.java.util.Collection<User>
getUsers(boolean useFailover)
Retrieve all users from this profile.void
removeRole(java.lang.String groupName, UICallback ui)
void
removeUser(User user, UICallback ui)
void
renameRole(java.lang.String oldName, java.lang.String newName, UICallback ui)
-
Methods inherited from class com.inductiveautomation.ignition.gateway.user.UserSourceProfileKernelWrapper
getCacheValidationTimeout, getContext, getManager, getProfileId, getProfileName, isLockedOut, notifyFailedAttempt, shutdown, startup
-
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
authenticate, getCacheValidationTimeout, getProfileId, shutdown, startup, validatePassword
-
-
-
-
Constructor Detail
-
AbstractUserSourceProfile
public AbstractUserSourceProfile(UserSourceProfileKernel kernel)
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:UserSourceProfile
The name of this user profile.- Specified by:
getName
in interfaceUserSourceProfile
-
getEditFlags
public java.util.Set<UserSourceEditCapability> getEditFlags()
Description copied from interface:UserSourceProfile
Which of the editing functions are supported?- Specified by:
getEditFlags
in interfaceUserSourceProfile
-
addRole
public void addRole(java.lang.String groupName, UICallback ui) throws java.lang.Exception
- Specified by:
addRole
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
removeRole
public void removeRole(java.lang.String groupName, UICallback ui) throws java.lang.Exception
- Specified by:
removeRole
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
renameRole
public void renameRole(java.lang.String oldName, java.lang.String newName, UICallback ui) throws java.lang.Exception
- Specified by:
renameRole
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
addUser
public void addUser(User user, UICallback ui) throws java.lang.Exception
- Specified by:
addUser
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
alterUser
public void alterUser(User user, UICallback ui) throws java.lang.Exception
- Specified by:
alterUser
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
removeUser
public void removeUser(User user, UICallback ui) throws java.lang.Exception
- Specified by:
removeUser
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
alterPassword
public void alterPassword(User user, java.lang.String oldPassword, java.lang.String newPassword) throws java.lang.Exception
- Specified by:
alterPassword
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
getUsers
@Nonnull public abstract java.util.Collection<User> getUsers() throws java.lang.Exception
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
- Throws:
java.lang.Exception
-
getUsers
@Nonnull public java.util.Collection<User> getUsers(boolean useFailover) throws java.lang.Exception
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 when useFailover argument is true.- Specified by:
getUsers
in interfaceUserSourceProfile
- Throws:
java.lang.Exception
-
getUser
@Nonnull public java.util.Optional<User> getUser(java.lang.String userName) throws java.lang.Exception
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
- 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:
java.lang.Exception
- if there is an unexpected problem fetching the user with the given user name- See Also:
UserSourceProfile.getUser(String, String)
-
getUser
@Nonnull public java.util.Optional<User> getUser(java.lang.String userName, java.lang.String userSourceProfileName) throws java.lang.Exception
Description copied from interface:UserSourceProfile
Fetch aUser
with the given user name and user source profile name. If more than one user exists with the given user name, the first user returned from the underlying data source is returned. Tries to target the user source with the given userSourceProfileName argument in the chain of failover sources (if configured), following the rules of the failover mode that is currently set at each user source in the chain. While visiting each user source in the chain, the failover source will be queried if hard failover is configured and the primary source is unable to fetch the user due to an error, as long as the given userSourceProfileName argument does not match the primary user source name currently being queried, otherwise an empty result is returned. The failover source will also be queried if soft failover is configured and the given userSourceProfileName argument does not match the primary user source name currently being queried.- Specified by:
getUser
in interfaceUserSourceProfile
- Parameters:
userName
- the user name of theUser
to fetchuserSourceProfileName
- the name of the user source profile for the target user- Returns:
- an
Optional
User
with the given user name - Throws:
java.lang.Exception
- if there is an unexpected problem fetching the user with the given user name- See Also:
UserSourceProfile.getUser(String)
-
getRoles
@Nonnull public abstract java.util.Collection<java.lang.String> getRoles() throws java.lang.Exception
- Specified by:
getRoles
in interfaceUserSourceProfile
- 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:
java.lang.Exception
-
getRoles
@Nonnull public java.util.Collection<java.lang.String> getRoles(boolean useFailover) throws java.lang.Exception
- Specified by:
getRoles
in interfaceUserSourceProfile
- 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 when useFailover argument is true.
- Throws:
java.lang.Exception
-
-