V12/feature/enable trust server certificate from installer (#14361)

* Enable checkbox with Trust server certificate in installer

* Fix up behavioral change

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
This commit is contained in:
Nikolaj Geisle
2023-06-12 10:58:40 +02:00
committed by GitHub
parent 10631decb1
commit 9a5e1c437e
3 changed files with 46 additions and 4 deletions

View File

@@ -73,8 +73,37 @@ public class SqlServerDatabaseProviderMetadata : IDatabaseProviderMetadata
}
/// <inheritdoc />
public string GenerateConnectionString(DatabaseModel databaseModel) =>
databaseModel.IntegratedAuth
? $"Server={databaseModel.Server};Database={databaseModel.DatabaseName};Integrated Security=true"
: $"Server={databaseModel.Server};Database={databaseModel.DatabaseName};User Id={databaseModel.Login};Password={databaseModel.Password}";
public string GenerateConnectionString(DatabaseModel databaseModel)
{
string connectionString = $"Server={databaseModel.Server};Database={databaseModel.DatabaseName};";
connectionString = HandleIntegratedAuthentication(connectionString, databaseModel);
connectionString = HandleTrustServerCertificate(connectionString, databaseModel);
return connectionString;
}
private string HandleIntegratedAuthentication(string connectionString, DatabaseModel databaseModel)
{
if (databaseModel.IntegratedAuth)
{
connectionString += "Integrated Security=true";
}
else
{
connectionString += $"User Id={databaseModel.Login};Password={databaseModel.Password}";
}
return connectionString;
}
private string HandleTrustServerCertificate(string connectionString, DatabaseModel databaseModel)
{
if (databaseModel.TrustServerCertificate)
{
connectionString += ";TrustServerCertificate=true;";
}
return connectionString;
}
}