Getting started
Last updated
Last updated
To get started with the Lithnet ECMA2 Framework, follow the steps below:
Start by creating a new .NET Framework 4.72 or higher project. It's important to note that Microsoft Identity Manager does not support .NET Core assemblies.
Next, add a reference to the Microsoft.MetadirectoryServicesEx.dll
assembly. This assembly is located on your Microsoft Identity Manager (MIM) server, usually at the following path: C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Bin\Assemblies
.
Add the Lithnet.Ecma2Framework
NuGet package to your project. This package provides the necessary APIs and tools for working with the ECMA2 framework.
You can find the Lithnet.Ecma2Framework
NuGet package on the NuGet website .
The ECMA2 framework provides an that allows your to define your management agent's capabilities.
Create a class that derrives from the that allows your to define your management agent's object types and attributes.
The framework provides IObjectImportProvider
, IObjectExportProvider
, and IObjectPasswordProvider
interfaces, used for importing objects, exporting objects, and changing passwords, respectively.
You can add as many of these interfaces as required to support the classes defined in your schema.
The framework provides of defining the management agent's configuration UI. It supports the traditional definition of MIM ConfigurationParameterDefinition
objects, as well as a native Options<T>
pattern.
We also provide an import provider base class that implements the producer/consumer pattern. The provides a managed implementation that will allow you to define your producer method to create objects of type T
on one thread, and convert them to CSEntryChanges on another.
Bringing it all together is the . This is where you setup the dependency injection container, registering your various providers and their dependencies. The framework will use this container to find your provider implementations and load them at run time.
One of the main pain points of having multiple management agents all stored in the single Extensions
folder that MIM provides is DLL depenendency clashes. The framework provides guidance to build a that can help minimize this issue.