private void GrantPlatformDatabaseUserPermissions(PlatformDatabaseConfiguration dbConfig)
        {
            var configRuntime = dbConfig.ElevatedRuntimeDatabaseConfiguration();
            var configMaster  = ConfigurationManagerUtils.ConfigurationToMaster(dbConfig);
            var authType      = dbConfig.AuthenticationMode;

            // Create User

            if (ConfigurationManagerUtils.NeedsCreate(configMaster, configRuntime, dbConfig.AdminUser))
            {
                if (authType == AuthenticationType.Windows_Authentication)
                {
                    ConfigurationManagerUtils.AddIntegratedAuthLogin(configRuntime, dbConfig.AdminUser);
                }
                else
                {
                    ConfigurationManagerUtils.AddDBAuthLogin(configMaster, dbConfig.AdminUser, dbConfig.AdminPassword);
                }
            }

            if (ConfigurationManagerUtils.NeedsPermissionsForAdmin(configRuntime, dbConfig.AdminUser))
            {
                ConfigurationManagerUtils.AddAdminPermissions(configRuntime, dbConfig.AdminUser);
            }

            if (ConfigurationManagerUtils.NeedsCreate(configMaster, configRuntime, dbConfig.RuntimeUser))
            {
                if (authType == AuthenticationType.Windows_Authentication)
                {
                    ConfigurationManagerUtils.AddIntegratedAuthLogin(configRuntime, dbConfig.RuntimeUser);
                }
                else
                {
                    ConfigurationManagerUtils.AddDBAuthLogin(configMaster, dbConfig.RuntimeUser, dbConfig.RuntimePassword);
                }
            }

            if (ConfigurationManagerUtils.NeedsPermissionsForReadWrite(configRuntime, dbConfig.RuntimeUser, dbConfig.AuthenticationMode))
            {
                ConfigurationManagerUtils.AddReadWritePermissions(configRuntime, dbConfig.RuntimeUser);
            }

            try {
                ConfigurationManagerUtils.AddRuntimePermissionsAfterUpgradeScript(configRuntime, dbConfig.RuntimeUser);
            } catch { }

            GrantPlatformPermissions(dbConfig);
        }
Ejemplo n.º 2
0
        public override void GrantUserPermissions()
        {
            var dbConfig      = (BusinessDatabaseConfiguration)uiConfiguration;
            var configRuntime = dbConfig.ElevatedRuntimeDatabaseConfiguration();
            var configMaster  = ConfigurationManagerUtils.ConfigurationToMaster(dbConfig);
            var authType      = dbConfig.AuthenticationMode;

            // Create User

            if (ConfigurationManagerUtils.NeedsCreate(configMaster, configRuntime, dbConfig.AdminUser))
            {
                if (authType == AuthenticationType.Windows_Authentication)
                {
                    ConfigurationManagerUtils.AddIntegratedAuthLogin(configRuntime, dbConfig.AdminUser);
                }
                else
                {
                    ConfigurationManagerUtils.AddDBAuthLogin(configMaster, dbConfig.AdminUser, dbConfig.AdminPassword);
                }
            }

            if (ConfigurationManagerUtils.NeedsPermissionsForAdmin(configRuntime, dbConfig.AdminUser))
            {
                ConfigurationManagerUtils.AddAdminPermissions(configRuntime, dbConfig.AdminUser);
            }

            if (ConfigurationManagerUtils.NeedsCreate(configMaster, configRuntime, dbConfig.RuntimeUser))
            {
                if (authType == AuthenticationType.Windows_Authentication)
                {
                    ConfigurationManagerUtils.AddIntegratedAuthLogin(configRuntime, dbConfig.RuntimeUser);
                }
                else
                {
                    ConfigurationManagerUtils.AddDBAuthLogin(configMaster, dbConfig.RuntimeUser, dbConfig.RuntimePassword);
                }
            }

            if (ConfigurationManagerUtils.NeedsPermissionsForReadWrite(configRuntime, dbConfig.RuntimeUser, dbConfig.AuthenticationMode))
            {
                ConfigurationManagerUtils.AddReadWritePermissions(configRuntime, dbConfig.RuntimeUser);
            }
        }