Merge
This commit is contained in:
commit
f238d6a454
20 changed files with 766 additions and 83 deletions
|
@ -4939,6 +4939,16 @@ namespace WebsitePanel.EnterpriseServer
|
|||
);
|
||||
}
|
||||
|
||||
public static void DeleteRDSServerSettings(int serverId)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"DeleteRDSServerSettings",
|
||||
new SqlParameter("@ServerId", serverId)
|
||||
);
|
||||
}
|
||||
|
||||
public static void DeleteRDSCollection(int id)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
|
|
|
@ -76,6 +76,11 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return GetFoldersInternal(itemId);
|
||||
}
|
||||
|
||||
public static SystemFile[] GetUserRootFolders(int itemId, int accountId, string userName, string displayName)
|
||||
{
|
||||
return GetUserRootFoldersInternal(itemId, accountId, userName, displayName);
|
||||
}
|
||||
|
||||
public static SystemFile GetFolder(int itemId, string folderName)
|
||||
{
|
||||
return GetFolderInternal(itemId, folderName);
|
||||
|
@ -554,6 +559,57 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
}
|
||||
|
||||
protected static SystemFile[] GetUserRootFoldersInternal(int itemId, int accountId, string userName, string displayName)
|
||||
{
|
||||
try
|
||||
{
|
||||
var rootFolders = new List<SystemFile>();
|
||||
|
||||
// load organization
|
||||
Organization org = OrganizationController.GetOrganization(itemId);
|
||||
if (org == null)
|
||||
{
|
||||
return new SystemFile[0];
|
||||
}
|
||||
|
||||
int serviceId = GetEnterpriseStorageServiceID(org.PackageId);
|
||||
|
||||
if (serviceId == 0)
|
||||
{
|
||||
return new SystemFile[0];
|
||||
}
|
||||
|
||||
EnterpriseStorage es = GetEnterpriseStorage(serviceId);
|
||||
|
||||
var webDavSettings = ObjectUtils.CreateListFromDataReader<WebDavSetting>(
|
||||
DataProvider.GetEnterpriseFolders(itemId)).ToArray();
|
||||
|
||||
var userGroups = OrganizationController.GetSecurityGroupsByMember(itemId, accountId);
|
||||
|
||||
foreach (var folder in es.GetFolders(org.OrganizationId, webDavSettings))
|
||||
{
|
||||
var permissions = ConvertToESPermission(itemId,folder.Rules);
|
||||
|
||||
foreach (var permission in permissions)
|
||||
{
|
||||
if ((!permission.IsGroup
|
||||
&& (permission.DisplayName == userName || permission.DisplayName == displayName))
|
||||
|| (permission.IsGroup && userGroups.Any(x => x.DisplayName == permission.DisplayName)))
|
||||
{
|
||||
rootFolders.Add(folder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return rootFolders.ToArray();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
|
||||
protected static SystemFile GetFolderInternal(int itemId, string folderName)
|
||||
{
|
||||
try
|
||||
|
|
|
@ -345,8 +345,8 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
PropertyName = (string)reader["PropertyName"],
|
||||
PropertyValue = (string)reader["PropertyValue"],
|
||||
ApplyAdministrators = Convert.ToBoolean("ApplyAdministrators"),
|
||||
ApplyUsers = Convert.ToBoolean("ApplyUsers")
|
||||
ApplyAdministrators = Convert.ToBoolean(reader["ApplyAdministrators"]),
|
||||
ApplyUsers = Convert.ToBoolean(reader["ApplyUsers"])
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -361,6 +361,10 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
try
|
||||
{
|
||||
var collection = ObjectUtils.FillObjectFromDataReader<RdsCollection>(DataProvider.GetRDSCollectionById(serverId));
|
||||
var rds = GetRemoteDesktopServices(GetRdsServiceId(collection.ItemId));
|
||||
rds.ApplyGPO(collection.Name, settings);
|
||||
|
||||
XmlDocument doc = new XmlDocument();
|
||||
XmlElement nodeProps = doc.CreateElement("properties");
|
||||
|
||||
|
@ -378,6 +382,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
string xml = nodeProps.OuterXml;
|
||||
|
||||
DataProvider.UpdateRdsServerSettings(serverId, settingsName, xml);
|
||||
|
||||
return 0;
|
||||
|
@ -742,7 +747,8 @@ namespace WebsitePanel.EnterpriseServer
|
|||
AuthenticateUsingNLA = true
|
||||
};
|
||||
|
||||
rds.CreateCollection(org.OrganizationId, collection);
|
||||
rds.CreateCollection(org.OrganizationId, collection);
|
||||
rds.ApplyGPO(collection.Name, GetDefaultGpoSettings());
|
||||
collection.Id = DataProvider.AddRDSCollection(itemId, collection.Name, collection.Description, collection.DisplayName);
|
||||
|
||||
collection.Settings.RdsCollectionId = collection.Id;
|
||||
|
@ -915,6 +921,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
var servers = ObjectUtils.CreateListFromDataReader<RdsServer>(DataProvider.GetRDSServersByCollectionId(collection.Id)).ToArray();
|
||||
rds.RemoveCollection(org.OrganizationId, collection.Name, servers);
|
||||
|
||||
DataProvider.DeleteRDSServerSettings(collection.Id);
|
||||
DataProvider.DeleteRDSCollection(collection.Id);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -1351,7 +1358,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
var rds = GetRemoteDesktopServices(GetRemoteDesktopServiceID(org.PackageId));
|
||||
|
||||
RdsServer rdsServer = GetRdsServer(serverId);
|
||||
RdsServer rdsServer = GetRdsServer(serverId);
|
||||
rds.MoveRdsServerToTenantOU(rdsServer.FqdName, org.OrganizationId);
|
||||
DataProvider.AddRDSServerToOrganization(itemId, serverId);
|
||||
}
|
||||
|
@ -2021,5 +2028,77 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
return PackageController.EvaluateTemplate(template, items);
|
||||
}
|
||||
|
||||
private static RdsServerSettings GetDefaultGpoSettings()
|
||||
{
|
||||
var defaultSettings = UserController.GetUserSettings(SecurityContext.User.UserId, UserSettings.RDS_POLICY);
|
||||
var settings = new RdsServerSettings();
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.LOCK_SCREEN_TIMEOUT,
|
||||
PropertyValue = defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_VALUE],
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.LOCK_SCREEN_TIMEOUT_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.REMOVE_RUN_COMMAND,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_RUN_COMMAND_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_RUN_COMMAND_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.REMOVE_POWERSHELL_COMMAND,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_POWERSHELL_COMMAND_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.HIDE_C_DRIVE,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.HIDE_C_DRIVE_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.HIDE_C_DRIVE_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.REMOVE_SHUTDOWN_RESTART,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.REMOVE_SHUTDOWN_RESTART_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.DISABLE_TASK_MANAGER,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.DISABLE_TASK_MANAGER_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.DISABLE_TASK_MANAGER_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.CHANGE_DESKTOP_DISABLED,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.CHANGE_DESKTOP_DISABLED_USERS])
|
||||
});
|
||||
|
||||
settings.Settings.Add(new RdsServerSetting
|
||||
{
|
||||
PropertyName = RdsServerSettings.SCREEN_SAVER_DISABLED,
|
||||
PropertyValue = "",
|
||||
ApplyAdministrators = Convert.ToBoolean(defaultSettings[RdsServerSettings.SCREEN_SAVER_DISABLED_ADMINISTRATORS]),
|
||||
ApplyUsers = Convert.ToBoolean(defaultSettings[RdsServerSettings.SCREEN_SAVER_DISABLED_USERS])
|
||||
});
|
||||
|
||||
return settings;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue