Skip to content

NTLM support in mssql #609

Open
@aniruddhakhadkikar

Description

@aniruddhakhadkikar

Is your feature request related to a problem? Please describe.
Most production implementations of SQL Server today use windows authentication aka NTLM. Today the support for it is missing in cube.js although the underlying tedious library supports it.

Describe the solution you'd like
An ability to set the authentication type in .env file which is used in MSSqlDriver.js appropriately.
CUBEJS_DB_AUTHTYPE=takes options supported by tedious e.g. default, ntlm. Below I have used hardcoding as variables did not give the right behaviour and that is what needs solving.

class MSSqlDriver extends BaseDriver {
constructor(config) {
super();
this.config = {
server: process.env.CUBEJS_DB_HOST,
database: process.env.CUBEJS_DB_NAME,
port: process.env.CUBEJS_DB_PORT && parseInt(process.env.CUBEJS_DB_PORT, 10),
user: process.env.CUBEJS_DB_USER,
authentication: {
type: 'ntlm',
options: {
userName: 'hardcodedusername',
password: 'hardcodedpassword',
domain: 'hardcodeddomain'
}
},

Describe alternatives you've considered
This has been the only way I have been able to get ntlm working.

Additional context
I am not a javascript developer and will probably break something. So I thought it better to share the way I managed to get it working.

Metadata

Metadata

Assignees

No one assigned

    Labels

    driver:mssqlIssues relating to the MSSQL driverhelp wantedCommunity contributions are welcome.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions