NidsAdminException generated in Admin Console creating Shared secrets with similar names

  • 7000761
  • 27-Jun-2008
  • 26-Apr-2012

Environment

Novell Access Management 3 Linux Novell Identity Server
Novell Access Management 3 Access Administration
Novell Access Manager 3 Support Pack 3 applied

Situation

Access Manager SP3 applied
Basic setup configured and working with an Administration server  and Identity servers on seperate boxes.

When the admin logs into the Administration Console and navigate to the Shared Settings -> Custom Attributes, two similar shared secret entries are created with similar names (one of which has an _ (underscore) character and the other a space character as shown ..

a. "Shared secret name:test_123" with "Entry:user"
b. "Shared secret name:test 123" with "Entry:user"

When the admin clicks on "Apply" to apply the changes, an excetion is thrown in the UI. The stack trace is shown below:

com.novell.nidp.admin.model.NidsAdminException:
com.novell.admin.common.exceptions.UniqueSPIException: (Error -614) An attemptwas made to add a duplicate value to the specified property.\n at
com.novell.nidp.admin.model.NidsObject.save(NidsObject.java:307)\n at
com.novell.admin.nids.overview.PropertyPage_CustomAttributes.commitPage(Unknown Source)\n at com.novell.admin.nids.util.UIContext.commitActivePages(Unknown Source)\n at com.novell.admin.nids.util.actions.Navigate.A(Unknown Source)\n at
com.novell.admin.nids.util.actions.Navigate.access$000(Unknown Source)\n at
com.novell.admin.nids.util.actions.Navigate$2.process(Unknown Source)\n at
com.novell.admin.nids.util.actions.Navigate.process(Unknown Source)\n at
com.novell.admin.nids.util.UIObject.handleAction(Unknown Source)\n at
com.novell.admin.nids.util.UIContext.execute(Unknown Source)\n at
com.novell.admin.nids.IdentityServer_OverviewWizard.execute(Unknown Source)\n at com.novell.emframe.dev.Task.execute(Task.java:490)\n at
com.novell.nps.gadgetManager.BaseGadgetInstance.processRequest(BaseGadgetInstance.java:849)\n at
com.novell.nps.gadgetManager.BaseGadgetInstance.handleAction(BaseGadgetInstance.java:2375)\n at
com.novell.nps.gadgetManager.GadgetManager.processInstanceRequest(GadgetManager.java:1596)\n at
com.novell.nps.gadgetManager.GadgetManager.processServiceRequest(GadgetManager.java:1052)\n at com.novell.nps.PortalServlet.handleFrameService(PortalServlet.java:496)\n at com.novell.nps.PortalServlet.processRequest(PortalServlet.java:369)\n at
com.novell.nps.PortalServlet.doPost(PortalServlet.java:275)\n at
javax.servlet.http.HttpServlet.service(HttpServlet.java:716)\n at
com.novell.emframe.fw.servlet.AuthenticatorServlet.service(AuthenticatorServlet.java:290)\n at
javax.servlet.http.HttpServlet.service(HttpServlet.java:809)\n at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)\n at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)\n at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)\n at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)\n at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)\n at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)\n at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)\n at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)\n at
:
:

Resolution

Avoid adding Shared secrets with similar names that include an underscore or space in them.

Note that this is specific to the manually created entries. In a Formfill policy creating the same kind of Shared secret names as shown above, the first entry will be overwritten by the second one.