Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-32534

Support jtds SQL integrated security

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Duplicate
    • None
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      NOTE: This suggestion is for JIRA Cloud. Using JIRA Server? See the corresponding suggestion.

      There is no way to get JIRA to reliably connect to an MSSQL database using windows authentication. Tested both with and without the username XML element.

      SQL connection string:

       <jdbc-datasource>
          <url>jdbc:jtds:sqlserver://dbserver:1439/JIRADB</url>
          <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
          <username>windowsUser</username>
        </jdbc-datasource>
      

      Per JTDS documentation: (README.SSO)

          In order for Single Sign On to work, jTDS must be able to load the native
          SPPI library (ntlmauth.dll). Place this DLL anywhere in the system path
          (defined by the PATH system variable) and you're all set.
      

      JIRA startup error:

      2013-04-11 14:48:30,861 localhost-startStop-1 ERROR      [atlassian.jira.startup.LauncherContextListener] Unable to start JIRA.
      com.atlassian.jira.util.dbc.Assertions$NullArgumentException: username should not be null!
      	at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:28)
      	at com.atlassian.jira.util.dbc.Assertions.notBlank(Assertions.java:112)
      	at com.atlassian.jira.config.database.JdbcDatasource.<init>(JdbcDatasource.java:177)
      	at com.atlassian.jira.config.database.JdbcDatasource.<init>(JdbcDatasource.java:30)
      	at com.atlassian.jira.config.database.JdbcDatasource$Builder.build(JdbcDatasource.java:605)
      	at com.atlassian.jira.config.database.JdbcDatasource.parse(JdbcDatasource.java:408)
      	at com.atlassian.jira.config.database.DatabaseConfigHandler.parseDatasource(DatabaseConfigHandler.java:73)
      	at com.atlassian.jira.config.database.DatabaseConfigHandler.parse(DatabaseConfigHandler.java:33)
      	at com.atlassian.jira.config.database.AbstractJiraHomeDatabaseConfigurationLoader.loadDatabaseConfiguration(AbstractJiraHomeDatabaseConfigurationLoader.java:57)
      	at com.atlassian.jira.startup.SystemTenantProvider.getSystemDatabaseConfig(SystemTenantProvider.java:69)
      	at com.atlassian.jira.startup.SystemTenantProvider.getSystemTenant(SystemTenantProvider.java:46)
      	at com.atlassian.multitenant.MultiTenantContext.getSystemTenant(MultiTenantContext.java:473)
      	at com.atlassian.multitenant.MultiTenantContext.defaultInit(MultiTenantContext.java:112)
      	at com.atlassian.jira.startup.LauncherContextListener.initMultiTenantSystem(LauncherContextListener.java:145)
      	at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:69)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
      	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      	at java.util.concurrent.FutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Unknown Source)
      

              Unassigned Unassigned
              1fb314f5e71f Ribbles
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: