Re-add AD auth for SQL big data cluster (#6759)

* Revert "Revert "Initial AD support for BDCs (#6741)" as it breaks linux (#6758)"

This reverts commit 51660b25ef.

* Install kerberos package on linux
This commit is contained in:
Kevin Cunnane
2019-08-14 20:19:31 -07:00
committed by GitHub
parent 51660b25ef
commit fdac1d5382
32 changed files with 640 additions and 189 deletions

View File

@@ -124,6 +124,8 @@ export interface TopLevelChildrenPath {
providerObject: azdata.ObjectExplorerNodeProvider | azdata.ObjectExplorerProvider;
}
const errSessionCreateFailed = nls.localize('OeSessionFailedError', "Failed to create Object Explorer session");
export class ObjectExplorerService implements IObjectExplorerService {
public _serviceBrand: any;
@@ -231,19 +233,18 @@ export class ObjectExplorerService implements IObjectExplorerService {
if (session && session.success) {
this.handleSessionCreated(session);
} else {
let errorMessage = session && session.errorMessage ? session.errorMessage :
nls.localize('OeSessionFailedError', "Failed to create Object Explorer session");
let errorMessage = session && session.errorMessage ? session.errorMessage : errSessionCreateFailed;
this.logService.error(errorMessage);
}
}
private async handleSessionCreated(session: azdata.ObjectExplorerSession): Promise<void> {
try {
let connection: ConnectionProfile = undefined;
let errorMessage: string = undefined;
if (this._sessions[session.sessionId]) {
connection = this._sessions[session.sessionId].connection;
let connection: ConnectionProfile = undefined;
let errorMessage: string = undefined;
if (this._sessions[session.sessionId]) {
connection = this._sessions[session.sessionId].connection;
try {
if (session.success && session.rootNode) {
let server = this.toTreeNode(session.rootNode, null);
server.connection = connection;
@@ -251,8 +252,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
this._activeObjectExplorerNodes[connection.id] = server;
}
else {
errorMessage = session && session.errorMessage ? session.errorMessage :
nls.localize('OeSessionFailedError', "Failed to create Object Explorer session");
errorMessage = session && session.errorMessage ? session.errorMessage : errSessionCreateFailed;
this.logService.error(errorMessage);
}
// Send on session created about the session to all node providers so they can prepare for node expansion
@@ -261,14 +261,14 @@ export class ObjectExplorerService implements IObjectExplorerService {
let promises: Thenable<boolean>[] = nodeProviders.map(p => p.handleSessionOpen(session));
await Promise.all(promises);
}
} catch (error) {
this.logService.warn(`cannot handle the session ${session.sessionId} in all nodeProviders`);
} finally {
this.sendUpdateNodeEvent(connection, errorMessage);
}
else {
this.logService.warn(`cannot find session ${session.sessionId}`);
}
this.sendUpdateNodeEvent(connection, errorMessage);
} catch (error) {
this.logService.warn(`cannot handle the session ${session.sessionId} in all nodeProviders`);
}
else {
this.logService.warn(`cannot find session ${session.sessionId}`);
}
}