aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Azure/Tango.AzureUtils
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-25 16:25:40 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-25 16:25:40 +0200
commit0523d927f31acc3be070fa6281c3108aaefe65c2 (patch)
tree3467788bf39bd919977d2a6fa42d62ceda03dc70 /Software/Visual_Studio/Azure/Tango.AzureUtils
parent1d2a8fcc28a69b87f8deb3f08323c9a80e3631e2 (diff)
downloadTango-0523d927f31acc3be070fa6281c3108aaefe65c2.tar.gz
Tango-0523d927f31acc3be070fa6281c3108aaefe65c2.zip
Azure Utils: Added Tango WebApp user creation and permission on database for token authentication.
Also added to Azure notes.
Diffstat (limited to 'Software/Visual_Studio/Azure/Tango.AzureUtils')
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs12
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/CreateEnvironmentConfiguration.cs1
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs14
3 files changed, 27 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
index cb1a608a8..75a7f321b 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
@@ -198,6 +198,18 @@ namespace Tango.AzureUtils.Database
}
}
+ public async Task AddTangoWebAppUser(String address, String databaseName, String userName, String password)
+ {
+ OnProgress(AzureUtilsStage.Database, $"Adding Tango WebApp permissions on '{databaseName}'...");
+
+ using (DbManager db = DbManager.FromCredentials(address, databaseName, userName, password))
+ {
+ await db.ExecuteCommandAsync("CREATE USER [Tango] FOR LOGIN [BackupUser] WITH DEFAULT_SCHEMA=[dbo]");
+ await db.ExecuteCommandAsync("EXEC sp_addrolemember N'db_datareader', N'Tango'");
+ await db.ExecuteCommandAsync("EXEC sp_addrolemember N'db_datawriter', N'Tango'");
+ }
+ }
+
#endregion
#region Versions
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/CreateEnvironmentConfiguration.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/CreateEnvironmentConfiguration.cs
index e8162e4c0..e538f3094 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/CreateEnvironmentConfiguration.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/CreateEnvironmentConfiguration.cs
@@ -18,6 +18,7 @@ namespace Tango.AzureUtils.Environment
public bool CreateDatabase { get; set; } = true;
public bool AddDatabasePermissionsForEnvironmentGroup { get; set; } = true;
public bool CreateDatabaseBackupUser { get; set; } = true;
+ public bool CreateDatabaseTangoWebApplicationUser { get; set; } = true;
public bool SynchronizeDatabaseSchema { get; set; } = true;
public bool SynchronizeDatabaseData { get; set; } = true;
public bool CreateStorageContainers { get; set; } = true;
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs
index 53665a73d..19ccb8f92 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs
@@ -138,6 +138,20 @@ namespace Tango.AzureUtils.Environment
}
}
+ //Create Tango web application user
+ if (config.CreateDatabaseTangoWebApplicationUser)
+ {
+ try
+ {
+ await _databaseManager.AddTangoWebAppUser(sourceSettings.DB_ADDRESS, targetSettings.DB_CATALOG, sourceSettings.DB_USER_NAME, sourceSettings.DB_PASSWORD);
+ }
+ catch (Exception ex)
+ {
+
+ await RequestConfirmation($"Error creating/adding permissions for Tango web application on database.\n{ex.FlattenMessage()}\n\nDo you wish to continue?");
+ }
+ }
+
//Synchronize Schema
if (config.SynchronizeDatabaseSchema)
{