/// <summary> /// Initializes the mechanism. /// </summary> /// <param name="connection">The connection.</param> /// <param name="credential">The credential.</param> /// <returns>The initial step.</returns> public ISaslStep Initialize(MongoConnection connection, MongoCredential credential) { var serviceName = credential.GetMechanismProperty<string>("SERVICE_NAME", "mongodb"); var canonicalizeHostname = credential.GetMechanismProperty<bool>("CANONICALIZE_HOST_NAME", false); var hostname = connection.ServerInstance.Address.Host; if (canonicalizeHostname) { var entry = Dns.GetHostEntry(hostname); if (entry != null) { hostname = entry.HostName; } } // TODO: provide an override to force the use of gsasl? if (__useGsasl) { return new GsaslGssapiImplementation( serviceName, hostname, credential.Username, credential.Evidence); } return new WindowsGssapiImplementation( serviceName, hostname, credential.Username, credential.Evidence); }
/// <summary> /// Initializes the mechanism. /// </summary> /// <param name="connection">The connection.</param> /// <param name="credential">The credential.</param> /// <returns>The initial step.</returns> public ISaslStep Initialize(MongoConnection connection, MongoCredential credential) { var serviceName = credential.GetMechanismProperty <string>("SERVICE_NAME", "mongodb"); var realm = credential.GetMechanismProperty <string>("REALM", null); var canonicalizeHostname = credential.GetMechanismProperty <bool>("CANONICALIZE_HOST_NAME", false); var hostname = connection.ServerInstance.Address.Host; if (canonicalizeHostname) { var entry = Dns.GetHostEntry(hostname); if (entry != null) { hostname = entry.HostName; } } // TODO: provide an override to force the use of gsasl? if (__useGsasl) { return(new GsaslGssapiImplementation( serviceName, hostname, realm, credential.Username, credential.Evidence)); } return(new WindowsGssapiImplementation( serviceName, hostname, realm, credential.Username, credential.Evidence)); }
/// <summary> /// Initializes the mechanism. /// </summary> /// <param name="connection">The connection.</param> /// <param name="credential">The credential.</param> /// <returns>The initial step.</returns> public ISaslStep Initialize(MongoConnection connection, MongoCredential credential) { var serviceName = credential.GetMechanismProperty<string>("SERVICE_NAME", "mongodb"); // TODO: provide an override to force the use of gsasl? if (__useGsasl) { return new GsaslGssapiImplementation( serviceName, connection.ServerInstance.Address.Host, credential.Username, credential.Evidence); } return new WindowsGssapiImplementation( serviceName, connection.ServerInstance.Address.Host, credential.Username, credential.Evidence); }
/// <summary> /// Initializes the mechanism. /// </summary> /// <param name="connection">The connection.</param> /// <param name="credential">The credential.</param> /// <returns>The initial step.</returns> public ISaslStep Initialize(MongoConnection connection, MongoCredential credential) { var serviceName = credential.GetMechanismProperty <string>("SERVICE_NAME", "mongodb"); // TODO: provide an override to force the use of gsasl? if (__useGsasl) { return(new GsaslGssapiImplementation( serviceName, connection.ServerInstance.Address.Host, credential.Username, credential.Evidence)); } return(new WindowsGssapiImplementation( serviceName, connection.ServerInstance.Address.Host, credential.Username, credential.Evidence)); }