IdentityController Class |
Namespace: Omada.OE.Solution.OIM.AppLogic
public class IdentityController : ControllerBase, IIdentityResolver
The IdentityController type exposes the following members.
Name | Description | |
---|---|---|
![]() | IdentityController(String) | |
![]() | IdentityController(ControllerBase) | |
![]() | IdentityController(SqlConnection, SqlTransaction, Int32) |
Name | Description | |
---|---|---|
![]() | ConnectionString |
Connection string for the database.
Can be null.
(Inherited from ControllerBase.) |
![]() | DbCommandTimeout |
DbCommandTimeout is applied to SqlCommand objects created using CreateSqlCommand().
The DbCommandTimeout value is (normally) passed on to other controllers created by the controller.
If DbCommandTimeout is Zero then the DB default will be used as timeout.
(Inherited from ControllerBase.) |
![]() | DbConnection |
Consider using CreateCommand() instead of accessing DbConnection directly.
DbConnection and DbTransaction are either specified when constucting the controller or
the controller constructs them itself (by using ConnectionString) when calling DoInConnection or DoInTransaction.
If the caller specified DbConnection and DbTransaction when constucting the controller then the caller is responsible for the management of the connection.
(Inherited from ControllerBase.) |
![]() | DbTransaction |
Consider using CreateCommand() instead of accessing DbTransaction directly.
DbConnection and DbTransaction are either specified when constucting the controller or
the controller constructs them itself (by using ConnectionString) when calling DoInConnection or DoInTransaction.
If the caller specified DbConnection and DbTransaction when constucting the controller then the caller is responsible for the management of the connection.
(Inherited from ControllerBase.) |
![]() | Factory |
Factory class for creating controller instances.
(Inherited from ControllerBase.) |
Name | Description | |
---|---|---|
![]() | BuildCacheKey |
Builds a cache key for use with GetFromCacheIfPresent.
The cache key is not hashed because we have experienced a collision using GetHashCode()
ie. the cache keys are quite long and there is a price in dictionary size in memory
and in dictionary lookups.
(Inherited from ControllerBase.) |
![]() | CheckObjectOperationSecurity |
Checks that the active user is allowed to perform an CRUD operation on a specific configuration object.
(note: except that a Create operation is not for a specific object).
Throws a SecurityException if not.
Method can be used for all configuration objects that are represented by a ConfigurationObjectType (except those that have a compound key).
Method checks auth role security as well as whether it is allowed to modify builtin/feature package objects.
(Inherited from ControllerBase.) |
![]() | CheckObjectSaveOperationSecurity |
Checks that the active user is allowed to Create a new - or Update an existing configuration object.
Throws a SecurityException if not.
Method can be used for all configuration objects that are represented by a ConfigurationObjectType (except those that have a compound key).
Method checks auth role security as well as whether it is allowed to modify builtin/feature package objects.
(Inherited from ControllerBase.) |
![]() | ConvertId(Int32, ConfigurationObjectType) |
Converts the integer id of an object to its transport-safe unique id (UId).
(Inherited from ControllerBase.) |
![]() | ConvertId(String, ConfigurationObjectType) |
Converts a string representation of an integer or Guid id to an integer id.
(Inherited from ControllerBase.) |
![]() | ConvertId(Guid, ConfigurationObjectType, Boolean) |
Converts the transport-safe unique id (UId) of an object to its integer id.
(Inherited from ControllerBase.) |
![]() | ConvertIds(IEnumerableGuid, ConfigurationObjectType) |
Converts the transport-safe unique ids (UId) of a number of objects to integer ids.
(Inherited from ControllerBase.) |
![]() | ConvertIds(IEnumerableInt32, ConfigurationObjectType) |
Converts the integer ids of a number of objects to their transport-safe unique ids (UId).
(Inherited from ControllerBase.) |
![]() | CreateCommand(SQLBuilder) | (Inherited from ControllerBase.) |
![]() | CreateCommand(String) | (Inherited from ControllerBase.) |
![]() ![]() | CreateIdentityUser(Int32, SqlConnection, SqlTransaction) |
Creates User for Identity setting the UserName to IdentityId.
|
![]() ![]() | CreateIdentityUser(Int32, Int32, Boolean, SqlConnection, SqlTransaction) |
Creates User for Identity setting the UserName to IdentityId.
|
![]() | CreateSqlBulkCopy |
Create a new SqlBulkCopy instance using the connection, transaction and timeout values from the controller
(Inherited from ControllerBase.) |
![]() | DoInConnection(ControllerBaseActionWithNoResult) |
Executes an action that doesn't return a result. If no current connection exists, it will establish a connection to the database and close it afterwards.
An existing connection will be reused. Inside the action, the connection is available as DbConnection.
(Inherited from ControllerBase.) |
![]() | DoInConnection(ActionSqlConnection, SqlTransaction, Boolean) |
Executes an action that doesn't return a result. If no current connection exists, it will establish a connection to the database and close it afterwards.
Connection and Transaction are passed to delegate, to allow passing to other controllers
An existing connection will be reused. Inside the action, the connection is available as DbConnection.
To ensure a new connection set forceNew to true.
(Inherited from ControllerBase.) |
![]() | DoInConnectionT(ControllerBaseActionWithResultT) |
Executes an action and returns the result.
If no current connection exists, it will establish a connection to the database and close it afterwards.
An existing connection will be reused. Inside the action, the connection is available as DbConnection.
(Inherited from ControllerBase.) |
![]() | DoInTransaction(ControllerBaseActionWithNoResult) |
Executes an action (that doesn't return a result) in a transaction.
If no current connection and/or transaction exists, it will establish it and commit and close it afterwards.
An existing connection/transaction will be reused.
Inside the action, the connection is available as DbConnection and
the transaction as DbTransaction.
(Inherited from ControllerBase.) |
![]() | DoInTransactionT(ControllerBaseActionWithResultT) |
Executes an action in a transaction and returns the result.
If no current connection and/or transaction exists, it will establish it and commit and close it afterwards.
An existing connection/transaction will be reused.
Inside the action, the connection is available as DbConnection and
the transaction as DbTransaction.
(Inherited from ControllerBase.) |
![]() | DoInTransactionT(FuncSqlConnection, SqlTransaction, T, Boolean) |
Executes an action in a transaction and returns the result.
Connection and Transaction are passed to delegate, to allow passing to other controllers
If no current connection and/or transaction exists, it will establish it and commit and close it afterwards.
An existing connection/transaction will be reused. Set forceNew to true to ensure new connection and transaction
Inside the action, the connection is available as DbConnection and
the transaction as DbTransaction.
(Inherited from ControllerBase.) |
![]() | DoInTransactionUnlessPostponedDueToPreviousDefaultResultT |
The method can postpone a SQL transaction implemented by action if the method returns a default number, eg. 0.
If the the action method throws a SQL transitent error, then the next call to action is also postponed.
(Inherited from ControllerBase.) |
![]() | DoUnlessPostponedDueToPreviousDefaultResultT |
The method can postpone a method invocation if the previous call returned a default number, eg. 0.
(Inherited from ControllerBase.) |
![]() | ExecScalarResultQueryT |
Executes a query with a scalar result.
(Inherited from ControllerBase.) |
![]() | ExecuteMutexOperation(String, Action, Boolean) | (Inherited from ControllerBase.) |
![]() | ExecuteMutexOperationT(String, FuncT, Boolean) | (Inherited from ControllerBase.) |
![]() | ExpireCacheItem | (Inherited from ControllerBase.) |
![]() | GetAppIdentityByIdentityId |
Get an AppIdentity from an identity id.
|
![]() | GetDbUTCNow | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultIntegerList, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultAppIdentity, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultBoolean, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultIListGuid, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultListGuid, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultListInt32, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultGuid, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultInt32, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresent(String, ControllerBaseActionWithResultTimeZoneInfo, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresentT(String, ControllerBaseActionWithResultListT, ControllerBaseCacheOptions) | (Inherited from ControllerBase.) |
![]() | GetFromCacheIfPresentT(String, ControllerBaseActionWithResultT, ControllerBaseCacheOptions) |
Retrieves some data from the cache or (if it is not there) executes an action and stores the result in the cache.
Caching is not applied if the IgnoreCacheContext is used (depending on the parameter for it).
Note: caching should only be used with great care as there are a number of potential issues involved in using it!
(Inherited from ControllerBase.) |
![]() | GetIdentitiesUserIds(IEnumerableInt32) |
The method returns the ids of the users which the specified identities belongs to (if any).
Delete-marked users are ignored.
|
![]() | GetIdentitiesUserIds(IEnumerableInt32, Int32) |
The method returns the ids of the users which the specified identities belongs to (if any).
Delete-marked users are ignored.
|
![]() ![]() | GetIdentityDataObjectCountLoadOptions | |
![]() | GetIdentityDataObjectLoadOptions |
Returns a DataObjectLoadOptions object prepared for loading identity data objects
conforming to a number of identity specific load options.
|
![]() | GetIdentityTimeZone |
Returns the timezone for an identity as specified in the Identity.TIMEZONE property.
If an identity has no timezone then the system default (specified in the customer settings) is returned.
|
![]() | GetIdentityUserId(Int32) |
The method returns the id of the user which the specified identity belongs to.
Delete-marked users are ignored.
|
![]() ![]() | GetIdentityUserId(Int32, SqlConnection, SqlTransaction) |
The method returns the id of the user which the specified identity belongs to.
Delete-marked users are ignored.
|
![]() ![]() | GetIdentityUserIds |
The method returns the ids of the users which the specified identities belongs to (if any).
Delete-marked users are ignored.
|
![]() | GetManagerIds(Int32, ContextControllerCrawlMode) |
Returns the "managers" of an identity.
The managers are the owners of the identity's primary context (or the owner of an ancestor context if the primary context itself has no owners).
If one or more supervisors are stated (according to the identity's primary context type) on the identity then these are returned as priority one.
Managers are either users or (non-personal) groups (or a combination).
|
![]() ![]() | GetManagerIds(Int32, SqlConnection, SqlTransaction) |
Returns the "managers" of an identity.
The managers are the owners of the identity's primary context (or the owner of an ancestor context if the primary context itself has no owners).
If one or more supervisors are stated (according to the identity's primary context type) on the identity then these are returned as priority one.
|
![]() ![]() | GetManagerIds(Int32, Boolean, SqlConnection, SqlTransaction) |
Returns the "managers" of an identity.
The managers are the owners of the identity's primary context (or the owner of an ancestor context if the primary context itself has no owners).
If one or more supervisors are stated (according to the identity's primary context type) on the identity then these are returned as priority one.
Managers are either users or (non-personal) groups (or a combination).
|
![]() ![]() | GetManagerIdsCheck(Int32, SqlConnection, SqlTransaction) | Obsolete. |
![]() ![]() | GetManagerIdsCheck(Int32, Boolean, SqlConnection, SqlTransaction) | |
![]() | GetNewRowIdentity | (Inherited from ControllerBase.) |
![]() | GetObjectDataVersion |
Gets the data version of an object.
(Inherited from ControllerBase.) |
![]() ![]() | GetOrgUnitId |
Returns the id of the org. unit which the identity belongs to.
|
![]() ![]() | GetPreviousOrgUnitId |
The method returns the id of the org. unit than an identity was previously working in.
If the identity has never been working in other org. units (than the current one) then 0 (zero) is returned.
If the identity has been working in more than one other org. units, then the id of the most recent one is returned.
|
![]() | GetTimeZonePerIdentity |
Returns the timezone for a list of identities as specified in the Identity.TIMEZONE property.
If an identity has no timezone then the system default (specified in the customer settings) is returned.
|
![]() | GetUserIdentityId |
Returns the IdentityId for a user.
The identity of the user is found by inspecting the 'Identity' reference property present on the User data object type.
If the user doesn't have a referred identity the method returns 0.
|
![]() | GetUsersIdentityId |
Returns the IdentityId for a list of users.
The identity of the user is found by inspecting the 'Identity' reference property present on the User data object type.
If the user doesn't have a referred identity the method returns 0.
|
![]() | IncrementDataVersion | (Inherited from ControllerBase.) |
![]() | IncrementObjectDataVersion(IEntityObject) |
Increments the data version of an entity object.
The data version is incremented in the db as well as on the object itself.
Method is used to update the data version of an object when an aggregated object is created/modified/deleted.
The purpose is to ensure that the id-based cache (in AppIdentity) is updated properly.
(Inherited from ControllerBase.) |
![]() | IncrementObjectDataVersion(Int32, EntityObjectType) |
Increments the data version of an entity object in the db.
Method is used to update the data version of an object when an aggregated object is created/modified/deleted.
The purpose is to ensure that the id-based cache (in AppIdentity) is updated properly.
(Inherited from ControllerBase.) |
![]() | LoadIdentities(IdentityLoadOptions) | |
![]() ![]() | LoadIdentities(IEnumerableInt32, SqlConnection, SqlTransaction) |
Overrides security.
|
![]() | LoadIdentity | |
![]() | PopulateTempTableT |
Creates a temporary db table with a single column and populates it with values.
(Inherited from ControllerBase.) |
![]() | PostponeTransientErrorT |
If the action throws a transient sql error, the exception is eaten.
An entry is written to the log with level Information.
The entire exception is written to the log with level Debug.
(Inherited from ControllerBase.) |
![]() | TransferUIdsToIdsLoadOption |
Converts/transfers one or more specified uids in a loadoptions object to ids.
The purpose is to enable caching as IEntityObjectsLoadOptions.IdList only works with ids (and not uids).
(Inherited from ControllerBase.) |
![]() | UpdateIdentities(IEnumerableInt32, IdentityUpdateOptions) | |
![]() ![]() | UpdateIdentities(IntegerList, IdentityUpdateOptions, SqlConnection, SqlTransaction) | |
![]() ![]() | UpdateIdentity | |
![]() | ValidateDataVersionT |
Validates that the data version of an object corresponds to the data version in the DB.
Method is used for validation before saving an object.
(Inherited from ControllerBase.) |
Name | Description | |
---|---|---|
![]() | ToBool |
Converts object to boolean.
(Defined by ObjectExtensions.) |
![]() | ToDateTime |
Converts object to DateTime.
(Defined by ObjectExtensions.) |
![]() | ToInt |
Converts object to integer.
(Defined by ObjectExtensions.) |
Name | Description | |
---|---|---|
![]() ![]() | IIdentityResolverFindIdentity |
The method looks up an Identity based on a userPrincipalName account name and a system.
The method mimicks how RoPE looks up accounts in ODW which also covers owned accounts.
It searches on the DistinguishedName column which we know is mapped from the userPrincipalName
in the Azure collector.
If it is not found in ODW, we make a simple lookup on the Identity email address.
|