private void CreateDatabaseRoles(OdsSqlConfiguration odsSqlConfiguration, CloudOdsDatabaseSecurityConfiguration securityConfiguration) { foreach (var role in securityConfiguration.Users.SelectMany(u => u.Roles).Distinct()) { CreateDatabaseRole(odsSqlConfiguration, securityConfiguration, role); } }
public void RemoveConfiguration(OdsSqlConfiguration sqlConfiguration, CloudOdsDatabaseSecurityConfiguration securityConfiguration) { var databaseName = _cloudOdsDatabaseNameProvider.GetDatabaseName(securityConfiguration.TargetDatabase); foreach (var user in securityConfiguration.Users) { RunSqlProcessOnDatabase(databaseName, sqlConfiguration, (connection, configuration) => { RemoveUserFromRole(connection, configuration.AdminAppCredentials, user.Roles.ToArray()); }); } }
private void CreateDatabaseRole(OdsSqlConfiguration odsSqlConfiguration, CloudOdsDatabaseSecurityConfiguration securityConfiguration, ISqlRole role) { var databaseName = _cloudOdsDatabaseNameProvider.GetDatabaseName(securityConfiguration.TargetDatabase); if (!role.IsBuiltinRole) { RunSqlProcessOnDatabase(databaseName, odsSqlConfiguration, (connection, configuration) => { _rawSqlConnectionService.ExecuteDdl(connection, role.CreateSql); }); } }
public void ApplyConfiguration(OdsSqlConfiguration sqlConfiguration, CloudOdsDatabaseSecurityConfiguration securityConfiguration) { var databaseName = _cloudOdsDatabaseNameProvider.GetDatabaseName(securityConfiguration.TargetDatabase); RunSqlProcessOnDatabase(databaseName, sqlConfiguration, (connection, configuration) => { CreateDatabaseRoles(sqlConfiguration, securityConfiguration); foreach (var user in securityConfiguration.Users) { AddUserToDatabase(connection, user.UserCredential); AddUserToRole(connection, user.UserCredential, user.Roles.ToArray()); } }); }