This commit is contained in:
me 2015-02-11 08:58:27 +04:00
commit 5c7e90874e
8 changed files with 60 additions and 147 deletions

View file

@ -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;
}

View file

@ -1,63 +0,0 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3"/>
</configSections>
<connectionStrings>
<add name="EnterpriseServer" connectionString="server=sql-01;database=WSPTEST2;uid=WSPTEST;pwd=!QAZxsw2;" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<!-- Encryption util settings -->
<add key="WebsitePanel.CryptoKey" value="0k8x5qbh0t1zk24cb8ym" />
<!-- A1D4KDHUE83NKHddF -->
<add key="WebsitePanel.EncryptionEnabled" value="true" />
<!-- Web Applications -->
<add key="WebsitePanel.EnterpriseServer.WebApplicationsPath" value="~/WebApplications" />
<!-- Communication settings -->
<!-- Maximum waiting time when sending request to the remote server
The value is in seconds. "-1" - infinite. -->
<add key="WebsitePanel.EnterpriseServer.ServerRequestTimeout" value="3600" />
<add key="WebsitePanel.AltConnectionString" value="ConnectionString" />
<add key="WebsitePanel.AltCryptoKey" value="CryptoKey" />
</appSettings>
<system.web>
<!-- Disable any authentication -->
<authentication mode="None"/>
<!-- Correct HTTP runtime settings -->
<httpRuntime executionTimeout="3600" maxRequestLength="16384"/>
<!-- Set globalization settings -->
<globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8"/>
<!-- Web Services settings -->
<webServices>
<protocols>
<!--
<remove name="HttpPost"/>
<remove name="HttpPostLocalhost"/>
<remove name="HttpGet"/>
-->
</protocols>
<soapServerProtocolFactory type="Microsoft.Web.Services3.WseProtocolFactory, Microsoft.Web.Services3"/>
</webServices>
<compilation targetFramework="4.0" debug="true"/>
</system.web>
<!-- WSE 3.0 settings -->
<microsoft.web.services3>
<diagnostics>
<trace enabled="false" input="InputTrace.webinfo" output="OutputTrace.webinfo"/>
</diagnostics>
<messaging>
<maxMessageLength value="-1"/>
<mtom clientMode="On"/>
</messaging>
<security>
<securityTokenManager>
<add type="WebsitePanel.EnterpriseServer.ServiceUsernameTokenManager, WebsitePanel.EnterpriseServer.Code" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken"/>
</securityTokenManager>
</security>
<policy fileName="WsePolicyCache.Config"/>
</microsoft.web.services3>
</configuration>

View file

@ -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));

View file

@ -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)
{

View file

@ -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">

View file

@ -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
});
}
}

View file

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="WebPortal.ThemeProvider" value="WebsitePanel.Portal.WebPortalThemeProvider, WebsitePanel.Portal.Modules" />
<add key="WebPortal.PageTitleProvider" value="WebsitePanel.Portal.WebPortalPageTitleProvider, WebsitePanel.Portal.Modules" />
<add key="ChartImageHandler" value="storage=file;timeout=20;" />
<add key="SessionValidationKey" value="DAD46D476F85E0198BCA134D7AA5CC1D7" />
</appSettings>
<system.web>
<!-- SiteMap settings -->
<siteMap defaultProvider="WebsitePanelSiteMapProvider" enabled="true">
<providers>
<add name="WebsitePanelSiteMapProvider" type="WebsitePanel.WebPortal.WebsitePanelSiteMapProvider, WebsitePanel.WebPortal" securityTrimmingEnabled="true" />
</providers>
</siteMap>
<!-- Set default scheme -->
<pages theme="Default" validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<controls>
<add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" />
</controls>
</pages>
<!-- Maximum size of uploaded file, in MB -->
<httpRuntime executionTimeout="1800" requestValidationMode="2.0" maxRequestLength="512000000" enableVersionHeader="false" />
<!--
ASMX is mapped to a new handler so that proxy javascripts can also be served.
-->
<httpHandlers>
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
</httpHandlers>
<!-- Authentication -->
<authentication mode="Forms">
<forms name=".WEBSITEPANELPORTALAUTHASPX" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" domain="" enableCrossAppRedirects="false">
</forms>
</authentication>
<!-- Custom errors -->
<customErrors mode="RemoteOnly" defaultRedirect="~/error.htm" />
<!-- Default authorization settings -->
<authorization>
<allow users="*" />
</authorization>
<!-- Globalization settings -->
<globalization culture="auto:en-US" uiCulture="auto:en" requestEncoding="UTF-8" responseEncoding="UTF-8"></globalization>
<compilation debug="true" targetFramework="4.0">
</compilation>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ChartImg" path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
<modules>
<add name="SecureSession" type="WebsitePanel.WebPortal.SecureSessionModule" />
</modules>
</system.webServer>
</configuration>

View file

@ -37,8 +37,9 @@
<ImportEnterpriseSrc>$(TrunkFolder)\Sources\Tools\WebsitePanel.Import.Enterprise\bin\$(BuildConfiguration)</ImportEnterpriseSrc>
<AWStatsViewerSrc>$(TrunkFolder)\Sources\Tools\WebsitePanel.AWStats.Viewer</AWStatsViewerSrc>
<WSPTransportAgentSrc>$(TrunkFolder)\Sources\Tools\WSPTransportAgent</WSPTransportAgentSrc>
<FixDefaultPublicFolderMailboxSrc>$(TrunkFolder)\Sources\Tools\WebsitePanel.FixDefaultPublicFolderMailbox\bin\$(BuildConfiguration)</FixDefaultPublicFolderMailboxSrc>
<ServerBuild>$(BuildFolder)\Server</ServerBuild>
<ServerBuild>$(BuildFolder)\Server</ServerBuild>
<EnterpriseServerBuild>$(BuildFolder)\EnterpriseServer</EnterpriseServerBuild>
<SchedulerServiceBuild>$(BuildFolder)\SchedulerService</SchedulerServiceBuild>
<PortalBuild>$(BuildFolder)\Portal</PortalBuild>
@ -51,8 +52,9 @@
<WSPTransportAgentBuild>$(BuildFolder)\WSPTransportAgent</WSPTransportAgentBuild>
<LocalizationToolkitBuild>$(BuildFolder)\LocalizationToolkit</LocalizationToolkitBuild>
<InstallerBuild>$(BuildFolder)\Installer</InstallerBuild>
<FixDefaultPublicFolderMailboxBuild>$(BuildFolder)\FixDefaultPublicFolderMailbox</FixDefaultPublicFolderMailboxBuild>
<ftphost></ftphost>
<ftphost></ftphost>
<ftpUsername></ftpUsername>
<ftpPassword></ftpPassword>
@ -61,7 +63,8 @@
<codeplexUser></codeplexUser>
<codeplexPassword></codeplexPassword>
</PropertyGroup>
</PropertyGroup>
<PropertyGroup Label="WebPlatformFeed">
<!-- URI where to locate the installer's distributive online -->
@ -92,7 +95,8 @@
<MSBuild Projects="$(TrunkFolder)\Sources\Tools\WebsitePanel.Import.Enterprise.sln" Properties="Configuration=$(BuildConfiguration)" />
<MSBuild Projects="$(TrunkFolder)\Sources\Tools\WebsitePanel.AWStats.Viewer.sln" Properties="Configuration=$(BuildConfiguration)" />
<MSBuild Projects="$(TrunkFolder)\Sources\Tools\WSPTransportAgent.sln" Properties="Configuration=$(BuildConfiguration)" />
</Target>
<MSBuild Projects="$(TrunkFolder)\Sources\Tools\WebsitePanel.FixDefaultPublicFolderMailbox.sln" Properties="Configuration=$(BuildConfiguration)" />
</Target>
<Target Name="PrepareBuilds" DependsOnTargets="CompileSources">
<!-- Remove build output folders in reversed order (e.q. root folder removed last) -->
@ -110,8 +114,9 @@
<RemoveDir Directories="$(LocalizationToolkitBuild)"/>
<RemoveDir Directories="$(InstallerBuild)"/>
<RemoveDir Directories="$(BuildFolder)"/>
<RemoveDir Directories="$(FixDefaultPublicFolderMailboxBuild)"/>
<MakeDir Directories="$(BuildFolder)"/>
<MakeDir Directories="$(BuildFolder)"/>
<MakeDir Directories="$(ServerBuild)"/>
<MakeDir Directories="$(EnterpriseServerBuild)"/>
<MakeDir Directories="$(SchedulerServiceBuild)"/>
@ -125,7 +130,8 @@
<MakeDir Directories="$(WSPTransportAgentBuild)"/>
<MakeDir Directories="$(LocalizationToolkitBuild)"/>
<MakeDir Directories="$(InstallerBuild)"/>
</Target>
<MakeDir Directories="$(FixDefaultPublicFolderMailboxBuild)"/>
</Target>
<Target Name="CreateServerBuild" DependsOnTargets="PrepareBuilds">
<ItemGroup>
@ -346,7 +352,16 @@
<Copy SourceFiles="@(WebsitePanelInstallerMsi)" DestinationFolder="$(DeployFolder)\%(RecursiveDir)" />
</Target>
<Target Name="Build" DependsOnTargets="CreateSetupBuild">
<Target Name="CreateFixDefaultPublicFolderMailboxBuild" DependsOnTargets="CreateSetupBuild">
<ItemGroup>
<FixDefaultPublicFolderMailboxExclude Include="$(FixDefaultPublicFolderMailboxSrc)\**\*.pdb" Condition="'$(BuildConfiguration)' == 'Release'" />
<FixDefaultPublicFolderMailboxExclude Include="$(FixDefaultPublicFolderMailboxSrc)\**\*.vshost.*" />
<FixDefaultPublicFolderMailboxBuildFiles Include="$(FixDefaultPublicFolderMailboxSrc)\**\*.*" Exclude="@(FixDefaultPublicFolderMailboxExclude)" />
</ItemGroup>
<Copy SourceFiles="@(FixDefaultPublicFolderMailboxBuildFiles)" DestinationFolder="$(FixDefaultPublicFolderMailboxBuild)\%(RecursiveDir)" />
</Target>
<Target Name="Build" DependsOnTargets="CreateFixDefaultPublicFolderMailboxBuild">
<!-- Do nothing -->
</Target>
@ -368,8 +383,9 @@
<ImportEnterpriseInstall>$(ToolsFolder)\Import.Enterprise</ImportEnterpriseInstall>
<AWStatsViewerInstall>$(ToolsFolder)\AWStats.Viewer</AWStatsViewerInstall>
<WSPTransportAgentInstall>$(ToolsFolder)\WSPTransportAgent</WSPTransportAgentInstall>
<FixDefaultPublicFolderMailboxInstall>$(ToolsFolder)\FixDefaultPublicFolderMailbox</FixDefaultPublicFolderMailboxInstall>
</PropertyGroup>
</PropertyGroup>
<Target Name="PrepareInstalls" DependsOnTargets="Build">
<Delete Files="$(InstallFolder)\**\*.*"/>
@ -494,7 +510,18 @@
<Copy SourceFiles="@(LocalizationToolkitDeployFiles)" DestinationFolder="$(ToolsFolder)\%(RecursiveDir)" />
</Target>
<!-- Create update from previous version -->
<Target Name="CreateFixDefaultPublicFolderMailboxInstall" DependsOnTargets="CreateLocalizationToolkitInstall">
<ItemGroup>
<FixDefaultPublicFolderMailboxDeployFiles Include="$(FixDefaultPublicFolderMailboxBuild)\**\*.*" />
</ItemGroup>
<RemoveDir Directories="$(FixDefaultPublicFolderMailboxInstall)"/>
<MakeDir Directories="$(FixDefaultPublicFolderMailboxInstall)"/>
<Copy SourceFiles="@(FixDefaultPublicFolderMailboxDeployFiles)" DestinationFolder="$(FixDefaultPublicFolderMailboxInstall)\%(RecursiveDir)" />
<Copy SourceFiles="$(RootFolder)\LICENSE.txt" DestinationFolder="$(FixDefaultPublicFolderMailboxInstall)" />
</Target>
<!-- Create update from previous version -->
<PropertyGroup>
<UpdateFolder>$(DeployFolder)\Update</UpdateFolder>
<ServerUpdate>$(UpdateFolder)\Server</ServerUpdate>
@ -502,7 +529,7 @@
<PortalUpdate>$(UpdateFolder)\Portal</PortalUpdate>
</PropertyGroup>
<Target Name="PrepareUpdates" DependsOnTargets="CreateLocalizationToolkitInstall">
<Target Name="PrepareUpdates" DependsOnTargets="CreateFixDefaultPublicFolderMailboxInstall">
<RemoveDir Directories="$(UpdateFolder)"/>
<MakeDir Directories="$(UpdateFolder)"/>
@ -697,6 +724,7 @@
<Exec Command="$(ZipCmd) a &quot;$(ToolsFolder)\WebsitePanel-Import-Enterprise-$(Version).zip&quot; &quot;$(ImportEnterpriseInstall)\*&quot;" />
<Exec Command="$(ZipCmd) a &quot;$(ToolsFolder)\WebsitePanel-AWStatsViewer-$(Version).zip&quot; &quot;$(AWStatsViewerInstall)\*&quot;" />
<Exec Command="$(ZipCmd) a &quot;$(ToolsFolder)\WebsitePanel-WSPTransportAgent-$(Version).zip&quot; &quot;$(WSPTransportAgentInstall)\*&quot;" />
<Exec Command="$(ZipCmd) a &quot;$(ToolsFolder)\WebsitePanel-FixDefaultPublicFolderMailbox-$(Version).zip&quot; &quot;$(FixDefaultPublicFolderMailboxInstall)\*&quot;" />
</Target>
@ -786,12 +814,13 @@
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-WSPTransportAgent-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-WSPTransportAgent-$(Version).zip" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel.LocalizationToolkit-$(Version).msi" LocalFile="$(ToolsFolder)\WebsitePanel.LocalizationToolkit.msi" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanelInstaller-$(Version).msi" LocalFile="$(DeployFolder)\WebsitePanelInstaller.msi" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanelInstaller-$(Version)-webpi.msi" LocalFile="$(DeployFolder)\WebsitePanelInstaller.msi" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanelInstaller-$(Version)-webpi.msi" LocalFile="$(DeployFolder)\WebsitePanelInstaller.msi" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-HyperVUtils-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-HyperVUtils-$(Version).zip" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-VMConfig-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-VMConfig-$(Version).zip" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/Websitepanel-SchedulerService-$(Version).msi" LocalFile="$(DeployFolder)\Websitepanel-SchedulerService.msi" />
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/Manual-Update-$(Version).zip" LocalFile="$(DeployFolder)\Manual-Update.zip" />
</Target>
<FtpUpload Username="$(ftpUsername)" password="$(ftpPassword)" RemoteUri="ftp://$(ftphost)/WebsitePanel-FixDefaultPublicFolderMailbox-$(Version).zip" LocalFile="$(ToolsFolder)\WebsitePanel-FixDefaultPublicFolderMailbox-$(Version).zip" />
</Target>
<Import Project="$(RootFolder)\tools\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>