0 Replies Latest reply: Feb 19, 2013 2:59 PM by 929720 RSS

    WebLogic 12c custom Credential Mapper

      I have developed a custom Credential Mapping Security Provider using the instructions here -


      I have followed these steps:

      1) Created custom MDF file SIDCredentialMapperV2.xml in mbean/mdf
      2) Copied commo.dtd to mbean/mdf
      3) Executed MBeanMaker using command

      java -DMDF=mdf\SIDCredentialMapperV2.xml -Dfiles=generated -DcreateStubs=true -DpreserveStubs weblogic.management.commo.WebLogicMBeanMaker

      4) Edited file generated\SIDCredentialMapperV2Impl.java to implement following methods

      public CredentialMapperV2 getCredentialProvider
      public void initialize(ProviderMBean providermbean, SecurityServices securityservices)
      public String getDescription()
      public void shutdown()
      public Object getCredential(Subject subject, String s, Resource resource, ContextHandler contexthandler, String s1)
      public Object[] getCredentials(Subject subject, Subject subject1, Resource resource, ContextHandler contexthandler, String s)

      5) Executed MBeanMaker using command

      java -DMJF=jar\sidCredentialMapperV2.jar -Dfiles=generated -DIncludeSource weblogic.management.commo.WebLogicMBeanMaker

      6) Copied sidCredentialMapperV2.jar to <MW_HOME>\wlserver\server\lib\mbeantypes

      7) Configured an instance of the SIDCredentialMapperV2 on the default realm using Admin Console where I'm told to restart after updating configuration.

      After restarting server I get the following error:

      weblogic.security.service.SecurityServiceRuntimeException: [Security:090877]Service Common CredentialMappingService unavailable, see exception text: com.bea.common.engine.ServiceInitializationException: com.bea.common.engine.SecurityServiceRuntimeException: *[Security:097534]Failed to obtain an instance of class com.ing.sid.wls.SIDCredentialMapperV2Impl*.
           at weblogic.security.service.CredentialManager.initialize(CredentialManager.java:107)
           at weblogic.security.service.CredentialManager.<init>(CredentialManager.java:65)

      I have verified that com.ing.sid.wls.SIDCredentialMapperV2Impl.class is in the sidCredentialMapperV2.jar and I've tried various methods to add the jar to the classpath, but nothing seems to work. Anyone have any suggestions to make my custom Credential Mapping security provider visible to the WebLogic CredentialManager?

      Avery D.

      Edited by: 926717 on Feb 19, 2013 12:58 PM