Fix for Remote Application users
This commit is contained in:
parent
4ca584a5ca
commit
2726090c4f
5 changed files with 16 additions and 14 deletions
|
@ -1055,15 +1055,15 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
var usersInDb = GetRdsCollectionUsers(collectionId);
|
||||
|
||||
var usersAccountNames = users.Select(x => x.AccountName).ToList();
|
||||
var accountNames = users.Select(x => x.AccountName).ToList();
|
||||
|
||||
//Set on server
|
||||
rds.SetUsersInCollection(org.OrganizationId, collection.Name, users.Select(x => x.AccountName).ToArray());
|
||||
rds.SetUsersInCollection(org.OrganizationId, collection.Name, users.Select(x => x.SamAccountName).ToArray());
|
||||
|
||||
//Remove from db
|
||||
foreach (var userInDb in usersInDb)
|
||||
{
|
||||
if (!usersAccountNames.Contains(userInDb.AccountName))
|
||||
if (!accountNames.Contains(userInDb.AccountName))
|
||||
{
|
||||
DataProvider.RemoveRDSUserFromRDSCollection(collectionId, userInDb.AccountId);
|
||||
}
|
||||
|
@ -1109,9 +1109,9 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
var rds = GetRemoteDesktopServices(GetRemoteDesktopServiceID(org.PackageId));
|
||||
var collection = GetRdsCollection(collectionId);
|
||||
|
||||
result.AddRange(rds.GetApplicationUsers(collection.Name, remoteApp.Alias));
|
||||
var collection = ObjectUtils.FillObjectFromDataReader<RdsCollection>(DataProvider.GetRDSCollectionById(collectionId));
|
||||
var users = rds.GetApplicationUsers(collection.Name, remoteApp.Alias);
|
||||
result.AddRange(users);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -986,13 +986,11 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
|||
//adding users to group
|
||||
foreach (var user in users)
|
||||
{
|
||||
var userPath = GetUserPath(organizationId, user);
|
||||
var samName = user.Split('\\').Last();
|
||||
var userPath = GetUserPath(organizationId, samName);
|
||||
|
||||
if (ActiveDirectoryUtils.AdObjectExists(userPath))
|
||||
{
|
||||
var userObject = ActiveDirectoryUtils.GetADObject(userPath);
|
||||
var samName = (string)ActiveDirectoryUtils.GetADObjectProperty(userObject, "sAMAccountName");
|
||||
|
||||
{
|
||||
if (!ActiveDirectoryUtils.IsUserInGroup(samName, usersGroupName))
|
||||
{
|
||||
ActiveDirectoryUtils.AddObjectToGroup(userPath, GetUsersGroupPath(organizationId, collectionName));
|
||||
|
|
|
@ -50,7 +50,7 @@ namespace WebsitePanel.Portal.RDS
|
|||
|
||||
litCollectionName.Text = collection.Name;
|
||||
txtApplicationName.Text = remoteApp.DisplayName;
|
||||
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Contains(x.DomainUserName));
|
||||
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Select(a => a.Split('\\').Last().ToLower()).Contains(x.SamAccountName.Split('\\').Last().ToLower()));
|
||||
|
||||
users.SetUsers(remoteAppUsers.ToArray());
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ namespace WebsitePanel.Portal.RDS
|
|||
var applications = ES.Services.RDS.GetCollectionRemoteApplications(PanelRequest.ItemID, collection.Name);
|
||||
var remoteApp = applications.Where(x => x.Alias.Equals(PanelRequest.ApplicationID, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
|
||||
remoteApp.DisplayName = txtApplicationName.Text;
|
||||
ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.AccountName).ToArray());
|
||||
ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.SamAccountName.Split('\\').Last()).ToArray());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
</ItemStyle>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="litAccount" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Literal>
|
||||
<asp:HiddenField ID="hdnSamAccountName" runat="server" Value='<%# Eval("SamAccountName") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
|
@ -79,6 +80,7 @@
|
|||
<ItemTemplate>
|
||||
<asp:Image ID="imgAccount" runat="server" ImageUrl='<%# GetAccountImage((int)Eval("AccountType")) %>' ImageAlign="AbsMiddle" />
|
||||
<asp:Literal ID="litDisplayName" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Literal>
|
||||
<asp:HiddenField ID="hdnSamName" runat="server" Value='<%# Eval("SamAccountName") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField meta:resourcekey="gvAccountsEmail">
|
||||
|
|
|
@ -194,6 +194,7 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
|||
OrganizationUser user = new OrganizationUser();
|
||||
user.AccountName = (string)gvUsers.DataKeys[i][0];
|
||||
user.DisplayName = ((Literal)row.FindControl("litAccount")).Text;
|
||||
user.SamAccountName = ((HiddenField)row.FindControl("hdnSamAccountName")).Value;
|
||||
|
||||
if (state == SelectedState.All ||
|
||||
(state == SelectedState.Selected && chkSelect.Checked) ||
|
||||
|
@ -219,7 +220,8 @@ namespace WebsitePanel.Portal.RDS.UserControls
|
|||
accounts.Add(new OrganizationUser
|
||||
{
|
||||
AccountName = (string)gvPopupAccounts.DataKeys[i][0],
|
||||
DisplayName = ((Literal)row.FindControl("litDisplayName")).Text
|
||||
DisplayName = ((Literal)row.FindControl("litDisplayName")).Text,
|
||||
SamAccountName = ((HiddenField)row.FindControl("hdnSamName")).Value
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue