Identity Broker Forum
Welcome to the community forum for Identity Broker.
Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.
WCF communicator - new settings for authentication
The WCF communicator is currently only able to use Windows credentials. Update the communicator information to have auth type, then switch on that to set either the Windows or the UserName credentials.
Connectors being added to groups should be disabled.
When the membership of a connector with regards to IDB groups is being updated, the connector in question should be disabled; as this could directly affect it operationally.
Logging controller: can't edit pre-existing logger
Currently when editing a log writer on the UI, an ArgumentNullException is thrown. Please let me know if you need additional details.
System.ArgumentNullException was unhandled by user code
Message=Value cannot be null.
Parameter name: id
Source=Unify.Framework.Logging.Engine.Interfaces
ParamName=id
StackTrace:
at Unify.Framework.Logging.CoreLogWriterEngineConfiguration..ctor(Guid id, String name, XElement configuration) in c:\Program Files (x86)\Jenkins\jobs\Framework Core (DEV)\workspace\Source\Logging\Unify.Framework.Logging.Engine.Interfaces\CoreLogWriterEngineConfiguration.cs:line 36
at Unify.Connect.Web.LogWriterAdapterDictionary.Transform(ILogWriterViewInformation sourceValue) in S:\hg\Product\IdentityBroker\v4.0\Source\Studio\Unify.Connect.Web\Models\Logging\Adapters\LogWriterAdapterDictionary.cs:line 60
at Unify.Connect.Web.LogWriterConfigurationViewInformationTwoWayAdapter.Transform(LogWriterConfigurationViewInformation sourceValue) in S:\hg\Product\IdentityBroker\v4.0\Source\Studio\Unify.Connect.Web\Models\Logging\LogWriterConfigurationViewInformationTwoWayAdapter.cs:line 87
at Unify.Connect.Web.LoggingController.CreateOrEditLogWriter(LogWriterConfigurationViewInformation configuration) in S:\hg\Product\IdentityBroker\v4.0\Source\Studio\Unify.Connect.Web\Controllers\LoggingController.cs:line 300
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c_DisplayClass15.<InvokeActionMethodWithFilters>b_12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException:
Connector cache timeout unaware of exports causing LDAP errors
The connector cache ConnectorEngineConnectorCache doesn't refresh the timeout when a connector is used for export.
Observation
Modify anchor operations would fail if a state was kept on the connector and used between the modify anchor call and the update entities call. Failures occurred every 1 minute, which is the timeout for the cache expiry.
Task
Clean up ConnectorEngineConnectorCache, as it's not clear how it works. Replace it with DictionaryCache if possible as the caching logic is handled for us. May need to subscribe to events for export and then Touch the connector so that the timeout doesn't expire. Ensure that unit tests are updated.
Upgrade v3.0.8 to v4.0 Exception
The following exception is thrown upgrading from v3.0.8.
Unify.Framework.UnifyServiceInitializeException: 'FK_EntityValue_CollectionKey' is not a constraint. Could not drop constraint. See previous errors. ---> System.Data.SqlClient.SqlEx ception: 'FK_EntityValue_CollectionKey' is not a constraint. Could not drop constraint. See previous errors. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolea n breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cm dHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult res ult, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs , ICompiledSubQuery[] subQueries, Object lastResult) at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryI nfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompile dSubQuery[] subQueries) at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider .Execute(Expression query) at System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] param eters) at Unify.Framework.Data.LinqContextConversionBase`4.SubmitChanges() at Unify.Product.IdentityBroker.IdentityBrokerEngine.ClearOldPartitions() at Unify.Product.IdentityBroker.IdentityBrokerEngine.Initialize() at Unify.Framework.UnifyEngine`1.Initialize() --- End of inner exception stack trace --- at Unify.Framework.UnifyEngine`1.Initialize() at Unify.Service.Connect.Debug.ProgramProxy.Execute()
This is occurring in v4.0.1, adam has tested it in v4.0.0 and this does not occur; however irrespective of the version some Foreign Key constraints are being missed, such as the listed FK_EntityValue_CollectionKey in conjunction with the FK_EntityValue_Entity constraint.
- v3.0.6 -> v4.0.x
Improve existing entity search functionality
From Eddie on PRODUCT-2:
"Search" entities in connector or adapter - it would be great to have an option to enter search criteria first rather than have to list all then sort.
It is probably not so bad in many sites, but DET as an example, takes an age to load 109,000 entities, which is a pain when we only want to look at one.
This issue is subject to whatever searches the current database structure can provide. For example, "Starts with" should be fine - "Contains" probably not. Date ranges may or may not be possible. Further investigation and comment required.
Provide statistics about connectors/adapters
Originally from Peter Wass on PRODUCT-2:
Currently there is no easy way to get stats on a connector or adapter. It would be good to be able to see:
Number of current objects
Number of changes in change register
Number of pending exports (to connected system or FIM)
(Note the last two may be the same...)
Date / Time of last run import / export
Number of Errors / Warnings from last import / export run
Less than symbol in text entry fields not escaped
If any standard text fields contain a less than symbol (<) followed by alphabetical characters the following is displayed when the form is submitted.
System.Web.HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (LesserValue="<value"). at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) at System.Web.HttpValueCollection.GetValues(String name) at System.Web.Mvc.NameValueCollectionValueProvider.ValueProviderResultPlaceholder.GetResultFromCollection(String key, NameValueCollection collection, CultureInfo culture) at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Web.Mvc.NameValueCollectionValueProvider.ValueProviderResultPlaceholder.get_ValidatedResult() at System.Web.Mvc.NameValueCollectionValueProvider.GetValue(String key, Boolean skipValidation) at System.Web.Mvc.ValueProviderCollection.<>c__DisplayClass9.<GetValue>b__4(IValueProvider provider) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) at System.Web.Mvc.DefaultModelBinder.GetPropertyValue(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder) at System.Web.Mvc.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) at System.Web.Mvc.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext) at System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) at System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) at System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
Users are disabled the morning of there last working day and we need them to only be disabled +1 day of there last working day.
Users are disabled the morning of there last working day and we need them to only be disabled +1 day of there last working day.
ADExport - 2014-09-08 Before Empower Sync.xml
ADExport - 2014-09-08 - Empower Disablements.xml
Customer support service by UserEcho