MS SQL Server Integrated Authentication

To configure integrated authentication for a 32-bit JVM, please contact PhixFlow Support.

Configuration

The following steps are required to enable server support for Integrated Authentication when using a 64-bit Java JVM.

1. Tomcat must be able to find the sqljdbc_auth.dll file. This is supplied with PhixFlow, in <PHIXFLOW WEBAPP>\WEB-INF\lib64. Set the Java option -Djava.library.path in the Tomcat configuration to tell Tomcat the location of the directory that contains this file. E.g.

 -Djava.library.path=C:\app\tomcat90\webapps\phixflow\WEB-INF\lib64

2. Update the url property in the phixflow-datasource.xml file by adding the argument integratedSecurity=true. E.g.:

<property name="driverClassName">

<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>

</property>
<property name="url">

<value>jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=train;integratedSecurity=true</value>

</property>
<!—The username and password are no longer needed -->
<!-- <property name="username"><value>train</value></property> -->
<!-- <property name="password"><value>train</value></property> -->

3. Start up Tomcat and log into PhixFlow as normal.

Troubleshooting

This driver not configured for integrated authentication

 On a Windows platform, when trying to connect to SQL Server using Integrated Authentication, you may see this exception:

com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication.
along with the following trace message:
com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll

This typically indicates that the driver cannot find the appropriate sqljdbc_auth.dll in the JVM library path. To correct the problem, please make sure the java option -Djava.library.path is set to the full path of the DLL file.
Note: You may also get the same error message if the application is trying to use the incorrect architecture (x86 VS x64) version of the sqljdbc_auth.dll.

UnsatisfiedLinkError

 If you get the following exception:

java.lang.UnsatisfiedLinkError: GetDNSName

This typically indicates that the application is trying to use the incorrect version (say v1.0 VS v1.1) of the sqljdbc_auth.dll. Make sure the application is using the save version of the sqljdbc.jar and sqljdbc_auth.dll files.