Skip to content

Commit 17f6aa6

Browse files
committed
CSHARP-1140: fixed issue with incorrect default GSSAPI source name.
1 parent 5acf3d5 commit 17f6aa6

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/MongoDB.Driver.Core/Core/Configuration/ClusterBuilderExtensionMethods.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,10 @@ private static IAuthenticator CreateAuthenticator(ConnectionString connectionStr
133133
{
134134
if (connectionString.Password != null)
135135
{
136+
var defaultSource = GetDefaultSource(connectionString);
137+
136138
var credential = new UsernamePasswordCredential(
137-
connectionString.AuthSource ?? connectionString.DatabaseName ?? "admin",
139+
connectionString.AuthSource ?? connectionString.DatabaseName ?? defaultSource,
138140
connectionString.Username,
139141
connectionString.Password);
140142

@@ -174,6 +176,16 @@ private static IAuthenticator CreateAuthenticator(ConnectionString connectionStr
174176
throw new NotSupportedException("Unable to create an authenticator.");
175177
}
176178

179+
private static string GetDefaultSource(ConnectionString connectionString)
180+
{
181+
if (connectionString.AuthMechanism != null && connectionString.AuthMechanism.Equals("GSSAPI", StringComparison.InvariantCultureIgnoreCase))
182+
{
183+
return "$external";
184+
}
185+
186+
return "admin";
187+
}
188+
177189
public static ClusterBuilder UsePerformanceCounters(this ClusterBuilder configuration, string applicationName, bool install = false)
178190
{
179191
Ensure.IsNotNull(configuration, "configuration");

0 commit comments

Comments
 (0)