Using Kerberos authentication with SQLServer produces errors for plugins connecting to the database

XMLWordPrintable

    • Severity 3 - Minor
    • 1

      Issue Summary

      On startup, Fisheye/Crucible 4.7.1 connected to a SQLServer database using Kerberos, produces the following error:

      2019-07-24 08:49:55,109 ERROR [ThreadPoolAsyncTaskExecutor::Thread 1 ] fisheye DefaultDBControl-<init> - Unable to connect to SQLServer 2012 or newer database jdbc:sqlserver://xxxxxxxxx;databaseName=xxxxxx;integratedSecurity=true;authenticationScheme=JavaKerberos: com.microsoft.sqlserver.jdbc.SQLServerException: Kerberos Login failed: Integrated authentication failed. ClientConnectionId:xxxxxxxxxx due to javax.security.auth.login.LoginException (unable to find LoginModule class: com.sun.security.auth.module.Krb5LoginModule not found from bundle [com.atlassian.troubleshooting.plugin-fecru])
      com.microsoft.sqlserver.jdbc.SQLServerException: Kerberos Login failed: Integrated authentication failed. ClientConnectionId:xxxxxxx due to javax.security.auth.login.LoginException (unable to find LoginModule class: com.sun.security.auth.module.Krb5LoginModule not found from bundle [com.atlassian.troubleshooting.plugin-fecru])
      

      Environment

      • Fisheye/Crucible 4.7.1 (new SQLServer drivers)
      • SQLServer (connected with jdbc )
      • Kerberos authentication enabled

      Problem exists, because ATST plugin also connects to database during initialization. Plugins are managed by OSGi, so they are managed by different class loader. Unfortunately this class loader cannot load required class and thus ATST fails to initialize.

      Steps to Reproduce

      1. Connect Fisheye Crucible 4.7.1 to SQLServer DB (2014+) using Kerberos auth
      2. Start Fisheye/Crucible

      Expected Results

      Startup without errors logged.

      Actual Results

      Error in logs during startup.
      The below exception is thrown in the xxxxxxx.log file:

      xxxxxx ERROR [ThreadPoolAsyncTaskExecutor::Thread 1 ] fisheye DefaultDBControl-<init> - Unable to connect to SQLServer 2012 or newer database jdbc:sqlserver://xxxxxxxxx;databaseName=xxxxxx;integratedSecurity=true;authenticationScheme=JavaKerberos: com.microsoft.sqlserver.jdbc.SQLServerException: Kerberos Login failed: Integrated authentication failed. ClientConnectionId:xxxxxxxxxx due to javax.security.auth.login.LoginException (unable to find LoginModule class: com.sun.security.auth.module.Krb5LoginModule not found from bundle [com.atlassian.troubleshooting.plugin-fecru])
      com.microsoft.sqlserver.jdbc.SQLServerException: Kerberos Login failed: Integrated authentication failed. ClientConnectionId:xxxxxxx due to javax.security.auth.login.LoginException (unable to find LoginModule class: com.sun.security.auth.module.Krb5LoginModule not found from bundle [com.atlassian.troubleshooting.plugin-fecru])
      

       

      Notes

      Despite error, the database connects, and ATST plugin seems to work as far as creating support zips, as long as it is updated to latest version.

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

            Assignee:
            Unassigned
            Reporter:
            Themis
            Votes:
            4 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: