Symptoms
Suppose you are trying to install custom security provider. E.g. SharePoint User Profile Custom Security Provider from K2 Community.
You build DLL and copied it into
"C:Program Files (x86)K2 blackpearlHost ServerBinsecurityproviders" folder.
Then use SQL script to create security label.
However, label does not appear in the SmartForms (Manage Claims form) neither it appears in the UMLabel SmartOjbect.
Diagnoses
It is necessary to make a change in the configuration file and set the "useassemblyregistration" flag to “true” otherwise the DLL never loads.
There is a KB article entitled "How to register a Security Provider":
But this KB does not mention that it is also necessary to
- sign the security provider DLL
- enable the flag useassemblyregistration in K2HostServer.exe.config
- create a record in HostServer].oAssemblyRegistration]
Otherwise K2 simply ignores the DLL.
There is an another KB article "K2 blackpearl 0807 and custom security providers" which mentions this additional requirement, But as there is no reference to it in first KB, it can be difficult to find all required information.
Resolution
You have to do the following:
- sign the security provider DLL
- enable the flag useassemblyregistration in K2HostServer.exe.config
- create a record in eHostServer]. AssemblyRegistration]
Refer to the following KB articles for details:
KB000186 "How to register a Security Provider"
KB000331 "K2 blackpearl 0807 and custom security providers"