Uploaded image for project: 'OpenAM'
  1. OpenAM
  2. OPENAM-1167

WindowsDesktopSSOConfig ClassCastException on saving configuration in admin UI

    Details

    • Sprint:
      AM Sustaining Sprint 42, AM Sustaining Sprint 43
    • Story Points:
      1
    • Needs backport:
      No
    • Support Ticket IDs:
    • Verified Version/s:
    • Needs QA verification:
      Yes
    • Functional tests:
      No
    • Are the reproduction steps defined?:
      Yes and I used the same an in the description

      Description

      When saving the WindowsDesktopSSO configuration of a realm in the admin UI a ClassCastException is logged in the Configuration debug log.

      This only seems to happen when multiple servers are configured, a single standalone server does not show the error.

      amSMSEvent:03/05/2012 05:09:13:260 AM EST: Thread[smIdmThreadPool,5,main]
      ERROR: ServiceConfigManagerImpl(:iPlanetAMAuthWindowsDesktopSSOService) notifyOrgConfigChange Error sending notification to ServiceListener: com.sun.identity.authentication.config.AMAuthLevelManager
      java.lang.ClassCastException: com.sun.identity.authentication.modules.windowsdesktopsso.WindowsDesktopSSOConfig cannot be cast to com.sun.identity.authentication.config.AMConfiguration
      at com.sun.identity.authentication.config.AMAuthLevelManager.processAuthConfigEntry(AMAuthLevelManager.java:681)
      at com.sun.identity.authentication.config.AMAuthLevelManager.updateAuthConfiguration(AMAuthLevelManager.java:578)
      at com.sun.identity.authentication.config.AMAuthLevelManager.organizationConfigChanged(AMAuthLevelManager.java:443)
      at com.sun.identity.sm.ServiceConfigManagerImpl.notifyOrgConfigChange(ServiceConfigManagerImpl.java:489)
      at com.sun.identity.sm.ServiceConfigManagerImpl.objectChanged(ServiceConfigManagerImpl.java:449)
      at com.sun.identity.sm.SMSNotificationManager.sendNotifications(SMSNotificationManager.java:289)
      at com.sun.identity.sm.SMSNotificationManager$LocalChangeNotifcationTask.run(SMSNotificationManager.java:365)
      at com.iplanet.am.util.ThreadPool$WorkerThread.run(ThreadPool.java:306)

      The WindowsDesktopSSOConfig inherits from javax.security.auth.login.Configuration instead of AMConfig so that is obviously the reason for the error message. However, I'm not sure if the inheritance is wrong of if the AMAuthLevelManager.processAuthConfigEntry() is trying to do something odd.

      The error goes away when modifying WindowsDesktopSSOConfig as follows:

      --- WindowsDesktopSSOConfig.java.orig   Tue Feb  7 07:52:22 2012
      +++ WindowsDesktopSSOConfig.java        Fri Mar  2 08:32:39 2012
      @@ -35,8 +35,9 @@
      
       import com.iplanet.am.util.SystemProperties;
       import com.sun.identity.shared.Constants;
      +import com.sun.identity.authentication.config.AMConfiguration;
      
      -public class WindowsDesktopSSOConfig extends Configuration {
      +public class WindowsDesktopSSOConfig extends AMConfiguration {
           public static final String defaultAppName =
               "com.sun.identity.authentication.windowsdesktopsso";
           private static final String kerberosModuleName =
      @@ -56,6 +57,7 @@
            * @param config
            */
           public WindowsDesktopSSOConfig(Configuration config) {
      +        super(config);
               this.config = config;
           }
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sachiko Sachiko Wallace
                Reporter:
                jah Jari Ahonen
                QA Assignee:
                Filip Kubáň [X] (Inactive)
              • Votes:
                1 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: