ApiServer Web Portal Authentication

Is there a way to default the Authentication type for the ApiServer's Web Portal (/ApiServer/html/qer-app-portal/#/)? Doesn't seem to be much of anything in the documentation.

Just considering using the new portal UI with a solution that has no stored passwords while avoiding a bad UX.

Parents Reply Children
  • Hi Markus,

    We're finally looking at implementing the ApiServer portals. However, we want to have DialogUser as authentication for the Operations Portal but get the below error when attempting to apply to the database. Our current solution only has DialogUser with necessary rights to manage, there is no linkage to Person or ADSAccount.

    [1025012] Object (Authentication modules) could not be saved!
    [810306] Error running 'OnSaving' in logic module 'VI.DB.Entities.ModuleDependentLogic'.
    	at VI.DialogEngine.DialogEngine.SaveDocument(IDocument[] documents, Schedule schedule)
    	at VI.MVC.Document.Save(Boolean reloadIfNecessary)
    	at VI.MVC.DocumentEventHandler.Invoke(Object sender, DocumentEventArgs e)
    	at Designer.Base.DocumentEditorControl.TaskDocumentSaving(Object sender, DocumentEventArgs e)
    	at VI.MVC.Document.Save(Boolean reloadIfNecessary)
    	at VI.MVC.DocumentEventHandler.Invoke(Object sender, DocumentEventArgs e)
    	at VI.DB.Specialized.DbObjectCollection.Save(Boolean checkExists)
    	at VI.DB.Entities.EntitySingleDbObject.Save()
    	at VI.Base.SyncActions.Do[T1,T2](T1 p1, T2 p2, Func`3 action)
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.EntitySingleDbObject.<>c.<<Save>b__36_0>d.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.EventUnitOfWork.<PutAsync>d__2.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.LoggingUnitOfWork.<PutAsync>d__4.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.SQLite.ConfigBufferUnitOfWork.<PutAsync>d__3.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.PermissionsUnitOfWork.<PutAsync>d__11.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.EventUnitOfWork.<PutAsync>d__2.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.UnitOfWorkImpl.<PutAsync>d__39.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.UnitOfWorkImpl.<_PutEntity>d__41.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.DbEntitySink.<PutAsync>d__14.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.InteractiveSaveEntityStrategy.<OnSavingAsync>d__3.MoveNext()
    	at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.CombinedEntityLogic.<_CollectChangesAsync>d__32`2.MoveNext()
    [810273] You are not allowed to create default objects or assignments.
    	at VI.DB.Entities.CombinedEntityLogic.<_CollectChangesAsync>d__32`2.MoveNext()
    	at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    	--- End of stack trace from previous location where exception was thrown ---
    	at VI.DB.Entities.ModuleDependentLogic.<OnSavingAsync>d__9.MoveNext()
    
    Crash report
    
    2024-05-06 07:37:18	SqlLog	(< 1 ms) - select AssemblyName, AuthenticationType, Caption, Class, Ident_DialogAuthentifier, InitialData, IsEnabled, IsForSingleSignOn, ShowInInterface, SortOrder, UID_DialogAuthentifier, XDateInserted, XDateUpdated, XMarkedForDeletion, XObjectKey, XTouched, XUserInserted, XUserUpdated from DialogAuthentifier where (DialogAuthentifier.UID_DialogAuthentifier = 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD')
    2024-05-06 07:37:18	ObjectLog	Entity: Run statement and fetch data done in 0ms.
    2024-05-06 07:37:18	ObjectLog	Old state: Loaded, New state: Loaded, LogicInitialize
    2024-05-06 07:37:18	ObjectLog	DialogAuthentifier: Initializing Customizer
    2024-05-06 07:37:18	ObjectLog	Action on SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _ProductionLevel
    2024-05-06 07:37:18	ObjectLog	Result: SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = True
    2024-05-06 07:37:18	ObjectLog	Action on SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _NormalGuidsAllowed
    2024-05-06 07:37:18	ObjectLog	Result: SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
    2024-05-06 07:37:18	ObjectLog	Old state: Loaded, LogicInitialize, New state: Loaded
    2024-05-06 07:37:18	ObjectLog	Old state: Loaded, New state: Loaded, LogicLoaded
    2024-05-06 07:37:18	ObjectLog	Customizer OnLoaded
    2024-05-06 07:37:18	ObjectLog	Action on SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _ProductionLevel
    2024-05-06 07:37:18	ObjectLog	Result: SwitchToModuleGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = True
    2024-05-06 07:37:18	ObjectLog	Action on SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible depends on [IsLoaded], _Enabled, _HasModuleGuid, _NormalGuidsAllowed
    2024-05-06 07:37:18	ObjectLog	Result: SwitchToNormalGuid(VI.DB.Entities.ISession, VI.DB.Entities.IEntity, System.Threading.CancellationToken) MethodVisible = False
    2024-05-06 07:37:18	ObjectLog	Old state: Loaded, LogicLoaded, New state: Loaded
    2024-05-06 07:37:18	ObjectLog	The following columns are not user alterable: AssemblyName, AuthenticationType, Caption, Class, Ident_DialogAuthentifier, IsForSingleSignOn, UID_DialogAuthentifier, XDateInserted, XDateUpdated, XMarkedForDeletion, XObjectKey, XTouched, XUserInserted, XUserUpdated
    2024-05-06 07:37:18	ObjectLog	Loading single entity done in 1ms.
    2024-05-06 07:37:18	ObjectLog	Old state: Loaded, New state: Loaded, PermissionBased
    2024-05-06 07:37:18	ObjectLog	Start caching of queries (level = 1).
    2024-05-06 07:37:18	ObjectLog	DialogProductHasAuthentifier: Getting collection, load type: BulkReadOnly
    2024-05-06 07:37:18	ObjectLog	Try to get data from cached queries or from source.
    2024-05-06 07:37:18	SqlLog	(< 1 ms) - select IsInActive, UID_DialogAuthentifier, UID_DialogProduct, xmarkedfordeletion, XDateInserted, XDateUpdated, XObjectKey, XTouched, XUserInserted, XUserUpdated from DialogProductHasAuthentifier where ((UID_DialogAuthentifier = 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD'))
    2024-05-06 07:37:18	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:37:18	ObjectLog	Collection.Count: 9
    2024-05-06 07:37:18	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:37:18	ObjectLog	Finding object classes for object QBM-740AF63FCA9D40E1A9A28CF076B36BBD
    2024-05-06 07:37:18	ObjectLog	Is it member of entity class DialogAuthentifier?
    2024-05-06 07:37:18	ObjectLog	Result: True
    2024-05-06 07:37:18	ObjectLog	Finding object classes for object QBM-740AF63FCA9D40E1A9A28CF076B36BBD
    2024-05-06 07:37:18	ObjectLog	Is it member of entity class DialogAuthentifier?
    2024-05-06 07:37:18	ObjectLog	Result: True
    2024-05-06 07:37:18	ObjectLog	End caching of queries (level = 0).
    2024-05-06 07:37:18	ObjectLog	Removing query cache. Number of cached queries: 1
    2024-05-06 07:37:20	ObjectLog	Finding object classes for object QBM-740AF63FCA9D40E1A9A28CF076B36BBD
    2024-05-06 07:37:20	ObjectLog	Is it member of entity class DialogAuthentifier?
    2024-05-06 07:37:20	ObjectLog	Result: True
    2024-05-06 07:37:37	ObjectLog	DialogDatabase: Getting collection, load type: Default
    2024-05-06 07:37:37	SqlLog	(< 1 ms) - select UID_Database, Description, xmarkedfordeletion from DialogDatabase where ((1 = 0)) order by Description
    2024-05-06 07:37:37	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:37:37	ObjectLog	Collection.Count: 0
    2024-05-06 07:37:37	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:37:37	ObjectLog	QBMProduct: Getting collection, load type: Default
    2024-05-06 07:37:37	SqlLog	(3 ms) - select UID_DialogProduct, Ident_Product, xmarkedfordeletion from QBMProduct where ((UID_DialogProduct in (select UID_DialogProduct from DialogProductHasAuthentifier where UID_DialogAuthentifier = 'CCC-4D0F81CDE83E434C939C011F600C6AAF'))) order by Ident_Product
    2024-05-06 07:37:37	ObjectLog	Collection: Run statement and fetch data done in 3ms.
    2024-05-06 07:37:37	ObjectLog	Collection.Count: 0
    2024-05-06 07:37:37	ObjectLog	Getting collection done in 4ms.
    2024-05-06 07:37:37	StopWatch	Getting Permissions/QBMWebApplication from cache. done in 0ms.
    2024-05-06 07:37:37	ObjectLog	QBMWebApplication: Getting collection, load type: Default
    2024-05-06 07:37:37	SqlLog	(< 1 ms) - select UID_QBMWebApplication, BaseUrl, xmarkedfordeletion from QBMWebApplication where ((1 = 0)) order by BaseUrl
    2024-05-06 07:37:37	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:37:37	ObjectLog	Collection.Count: 0
    2024-05-06 07:37:37	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:37:37	ObjectLog	QBMWebApplication: Getting collection, load type: Default
    2024-05-06 07:37:37	SqlLog	(< 1 ms) - select UID_QBMWebApplication, BaseUrl, xmarkedfordeletion from QBMWebApplication where ((1 = 0)) order by BaseUrl
    2024-05-06 07:37:37	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:37:37	ObjectLog	Collection.Count: 0
    2024-05-06 07:37:37	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:37:47	SqlLog	(22 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:38:17	SqlLog	(22 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:38:47	SqlLog	(63 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:39:17	SqlLog	(362 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:39:48	SqlLog	(1075 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:40:08	ObjectLog	Start caching of queries (level = 1).
    2024-05-06 07:40:08	ObjectLog	DialogProductHasAuthentifier: Getting collection, load type: BulkReadOnly
    2024-05-06 07:40:08	ObjectLog	Try to get data from cached queries or from source.
    2024-05-06 07:40:08	SqlLog	(< 1 ms) - select IsInActive, UID_DialogAuthentifier, UID_DialogProduct, xmarkedfordeletion, XDateInserted, XDateUpdated, XObjectKey, XTouched, XUserInserted, XUserUpdated from DialogProductHasAuthentifier where ((UID_DialogAuthentifier = 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD'))
    2024-05-06 07:40:08	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:40:08	ObjectLog	Collection.Count: 9
    2024-05-06 07:40:08	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:40:08	ObjectLog	End caching of queries (level = 0).
    2024-05-06 07:40:08	ObjectLog	Removing query cache. Number of cached queries: 1
    2024-05-06 07:40:12	ObjectLog	DialogProductHasAuthentifier: Getting collection, load type: Default
    2024-05-06 07:40:12	SqlLog	(< 1 ms) - select UID_DialogAuthentifier, UID_DialogProduct, xmarkedfordeletion from DialogProductHasAuthentifier where (((UID_DialogAuthentifier = 'CCC-4D0F81CDE83E434C939C011F600C6AAF')))
    2024-05-06 07:40:12	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:40:12	ObjectLog	Collection.Count: 0
    2024-05-06 07:40:12	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:40:12	ObjectLog	DialogProductHasAuthentifier: Creating new entity, creation type Interactive
    2024-05-06 07:40:12	ObjectLog	Creating new entity done in 0ms.
    2024-05-06 07:40:12	ObjectLog	Old state: None, New state: PermissionBased
    2024-05-06 07:40:12	ObjectLog	Begin transaction in read/write entity
    2024-05-06 07:40:12	ObjectLog	Check and execute column format Single Line with QER-CB50C740C0530D46B3B64187318A6B36
    2024-05-06 07:40:12	ObjectLog	DialogProductHasAuthentifier.UID_DialogProduct = QER-CB50C740C0530D46B3B64187318A6B36
    2024-05-06 07:40:12	ObjectLog	Check and execute column format Single Line with <Key><T>DialogProductHasAuthentifier</T><P></P><P>QER-CB50C740C0530D46B3B64187318A6B36</P></Key>
    2024-05-06 07:40:12	ObjectLog	DialogProductHasAuthentifier.XObjectKey = <Key><T>DialogProductHasAuthentifier</T><P></P><P>QER-CB50C740C0530D46B3B64187318A6B36</P></Key>
    2024-05-06 07:40:12	ObjectLog	Commit transaction in read/write entity
    2024-05-06 07:40:12	ObjectLog	Begin transaction in read/write entity
    2024-05-06 07:40:12	ObjectLog	Check and execute column format Single Line with QBM-740AF63FCA9D40E1A9A28CF076B36BBD
    2024-05-06 07:40:12	ObjectLog	DialogProductHasAuthentifier.UID_DialogAuthentifier = QBM-740AF63FCA9D40E1A9A28CF076B36BBD
    2024-05-06 07:40:12	ObjectLog	Check and execute column format Single Line with <Key><T>DialogProductHasAuthentifier</T><P>QBM-740AF63FCA9D40E1A9A28CF076B36BBD</P><P>QER-CB50C740C0530D46B3B64187318A6B36</P></Key>
    2024-05-06 07:40:12	ObjectLog	DialogProductHasAuthentifier.XObjectKey = <Key><T>DialogProductHasAuthentifier</T><P>QBM-740AF63FCA9D40E1A9A28CF076B36BBD</P><P>QER-CB50C740C0530D46B3B64187318A6B36</P></Key>
    2024-05-06 07:40:12	ObjectLog	Commit transaction in read/write entity
    2024-05-06 07:40:17	SqlLog	(272 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:40:47	SqlLog	(42 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:41:17	SqlLog	(24 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:41:47	SqlLog	(29 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:42:19	SqlLog	(1767 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:42:47	SqlLog	(21 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:43:17	SqlLog	(15 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:43:47	SqlLog	(24 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:44:17	SqlLog	(13 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:44:47	SqlLog	(23 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:45:17	SqlLog	(29 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:45:47	SqlLog	(19 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:46:17	SqlLog	(23 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:46:47	SqlLog	(14 ms) - /* run on main session */ select MessageType, MessageCode, SystemState from QBMVSystemState
    2024-05-06 07:46:54	ObjectLog	DialogAuthentifier: Getting collection, load type: ForeignDisplays
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - select UID_DialogAuthentifier, Caption, xmarkedfordeletion from DialogAuthentifier where (DialogAuthentifier.UID_DialogAuthentifier = 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD')
    2024-05-06 07:46:54	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:46:54	ObjectLog	Collection.Count: 1
    2024-05-06 07:46:54	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:46:54	ObjectLog	QBMProduct: Getting collection, load type: ForeignDisplays
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - select UID_DialogProduct, Ident_Product, xmarkedfordeletion from QBMProduct where (QBMProduct.UID_DialogProduct = 'QER-CB50C740C0530D46B3B64187318A6B36') order by Ident_Product
    2024-05-06 07:46:54	ObjectLog	Collection: Run statement and fetch data done in 0ms.
    2024-05-06 07:46:54	ObjectLog	Collection.Count: 1
    2024-05-06 07:46:54	ObjectLog	Getting collection done in 0ms.
    2024-05-06 07:46:54	ObjectLog	Session: Begin Transaction
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - Pin DbSession to physical connection
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - BEGIN TRANSACTION
    2024-05-06 07:46:54	ObjectLog	DB sink: Putting entity 'QBM-740AF63FCA9D40E1A9A28CF076B36BBD, QER-CB50C740C0530D46B3B64187318A6B36' of table 'DialogProductHasAuthentifier' with state PermissionBased into database queue (level 0)
    2024-05-06 07:46:54	ObjectLog	Begin transaction in read/write entity
    2024-05-06 07:46:54	ObjectLog	Interactive: OnSaving for QBM-740AF63FCA9D40E1A9A28CF076B36BBD, QER-CB50C740C0530D46B3B64187318A6B36
    2024-05-06 07:46:54	ObjectLog	Rollback transaction in read/write entity
    2024-05-06 07:46:54	ObjectLog	Session: Rollback Transaction
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - ROLLBACK TRANSACTION
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - Physical Transaction
    2024-05-06 07:46:54	SqlLog	(< 1 ms) - Pinned physical connection
    2024-05-06 07:46:54	VI.FormBase.ExceptionMgr	Object (Authentication modules) could not be saved!

  • Can you please explain what you tried to do that resulted in this error message (What did you do? Which tool? Credentials used?)? 

  • 9.0LTS CU3

    Designer. Trying to add System User as an authentication method to the Operations Portal (I was going to add an image, but the forum only supports remote image files which won't work).

  • You cannot add the existing authentication module "System user" to the program "OperationsSupportPortal". 

    The error (from my 9.0 CU3) is:

    [810273] You are not allowed to create default objects or assignments.

  • What is the reason though? Surely DialogUser would be a reasonable authentication option for a Operational Support Portal?

  • Hi Ben,

    We assigned the necessary permissions to the "Base roles" -> "Operations support" application roles, which requires an role-based authentication option. We would need to build the equivalent non-role-based permissions model first, and so far that has not been a scenario.