Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support SQLServer JDBC driver configured with NTLM #20990

Closed
KyleAure opened this issue May 2, 2022 · 0 comments · Fixed by #21013
Closed

Support SQLServer JDBC driver configured with NTLM #20990

KyleAure opened this issue May 2, 2022 · 0 comments · Fixed by #21013

Comments

@KyleAure
Copy link
Member

KyleAure commented May 2, 2022

User Story:
As a user of Open Liberty and SQLServer I want to be able to use the Windows New Technology LAN Manager (NTLM) authentication scheme to authenticate my connection to my SQLServer database.

This protocol was added to the SQLServer driver in 2019: microsoft/mssql-jdbc#998
This protocol uses Active Directory to authenticate connections to a SQLServer database.
This protocol is considered less secure than kerberos.
Not currently supported by Open Liberty

<AD id="authenticationScheme" ibmui:group="Advanced" required="false" type="String" name="%authenticationScheme" description="%authenticationScheme.desc">
<Option value="JavaKerberos" label="JavaKerberos"/>
<Option value="NativeAuthentication" label="NativeAuthentication"/>
</AD>

Things to consider:

  • How will this authentication mechanism affect connection matching in the connection?
    • Specifically, when one DataSource has multiple auth-aliases?
      • The only auth data provided or cached is a username and password
    • Does the SQLServer Driver add any auth data to the thread context?
  • Do we need to validate any configuration when this auth scheme is used?
    • No the SQLServer driver will validate the configuration for us and throw an error when necessary.

Testing:

  • In order to test this functionality we will need the following:
    • SQLServer database configured to use NTLM (FAQ)
    • Active Directory server to authenticate against
    • Application server to perform database work with.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant