Enterprise Storage Security Issue fixed.
This commit is contained in:
parent
fc2f121bf3
commit
619f4d2ac8
6 changed files with 116 additions and 1 deletions
|
@ -742,7 +742,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
if (web.VirtualDirectoryExists(site, vdirName))
|
||||
return BusinessErrorCodes.ERROR_VDIR_ALREADY_EXISTS;
|
||||
|
||||
web.CreateVirtualDirectory(site, dir);
|
||||
web.CreateEnterpriseStorageVirtualDirectory(site, dir);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ namespace WebsitePanel.Providers.Web
|
|||
WebVirtualDirectory[] GetVirtualDirectories(string siteId);
|
||||
WebVirtualDirectory GetVirtualDirectory(string siteId, string directoryName);
|
||||
void CreateVirtualDirectory(string siteId, WebVirtualDirectory directory);
|
||||
void CreateEnterpriseStorageVirtualDirectory(string siteId, WebVirtualDirectory directory);
|
||||
void UpdateVirtualDirectory(string siteId, WebVirtualDirectory directory);
|
||||
void DeleteVirtualDirectory(string siteId, string directoryName);
|
||||
|
||||
|
|
|
@ -1658,6 +1658,39 @@ namespace WebsitePanel.Providers.Web
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates virtual iisDirObject under site (Enterprise Storage) with specified id.
|
||||
/// </summary>
|
||||
/// <param name="siteId">Site's id to create virtual iisDirObject under.</param>
|
||||
/// <param name="iisDirObject">Virtual iisDirObject description.</param>
|
||||
public override void CreateEnterpriseStorageVirtualDirectory(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
// Create iisDirObject folder if not exists.
|
||||
if (!FileUtils.DirectoryExists(directory.ContentPath))
|
||||
{
|
||||
FileUtils.CreateDirectory(directory.ContentPath);
|
||||
}
|
||||
//
|
||||
WebSite webSite = GetSite(siteId);
|
||||
// copy props from parent site
|
||||
directory.ParentSiteName = siteId;
|
||||
directory.AspNetInstalled = webSite.AspNetInstalled;
|
||||
directory.ApplicationPool = webSite.ApplicationPool;
|
||||
// Create record in IIS's configuration.
|
||||
webObjectsSvc.CreateVirtualDirectory(siteId, directory.VirtualPath, directory.ContentPath);
|
||||
|
||||
using (ServerManager srvman = webObjectsSvc.GetServerManager())
|
||||
{
|
||||
PropertyBag bag = anonymAuthSvc.GetAuthenticationSettings(srvman, siteId);
|
||||
directory.AnonymousUsername = (string)bag[AuthenticationGlobals.AnonymousAuthenticationUserName];
|
||||
directory.AnonymousUserPassword = (string)bag[AuthenticationGlobals.AnonymousAuthenticationPassword];
|
||||
}
|
||||
// Update virtual directory (set parent site pool)
|
||||
webObjectsSvc.UpdateVirtualDirectory(directory);
|
||||
// Disable Anonymous Authentication
|
||||
SetAnonymousAuthentication(directory);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates virtual iisDirObject settings.
|
||||
/// </summary>
|
||||
|
|
|
@ -1165,6 +1165,11 @@ namespace WebsitePanel.Providers.Web
|
|||
UpdateVirtualDirectory(siteId, directory, false);
|
||||
}
|
||||
|
||||
public virtual void CreateEnterpriseStorageVirtualDirectory(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void UpdateVirtualDirectory(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
UpdateVirtualDirectory(siteId, directory, true);
|
||||
|
|
|
@ -124,6 +124,8 @@ namespace WebsitePanel.Providers.Web
|
|||
|
||||
private System.Threading.SendOrPostCallback CreateVirtualDirectoryOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback CreateEnterpriseStorageVirtualDirectoryOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback UpdateVirtualDirectoryOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DeleteVirtualDirectoryOperationCompleted;
|
||||
|
@ -352,6 +354,9 @@ namespace WebsitePanel.Providers.Web
|
|||
/// <remarks/>
|
||||
public event CreateVirtualDirectoryCompletedEventHandler CreateVirtualDirectoryCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event CreateEnterpriseStorageVirtualDirectoryCompletedEventHandler CreateEnterpriseStorageVirtualDirectoryCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event UpdateVirtualDirectoryCompletedEventHandler UpdateVirtualDirectoryCompleted;
|
||||
|
||||
|
@ -2070,6 +2075,57 @@ namespace WebsitePanel.Providers.Web
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateEnterpriseStorageVirtualDirectory", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void CreateEnterpriseStorageVirtualDirectory(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
this.Invoke("CreateEnterpriseStorageVirtualDirectory", new object[] {
|
||||
siteId,
|
||||
directory});
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCreateEnterpriseStorageVirtualDirectory(string siteId, WebVirtualDirectory directory, System.AsyncCallback callback, object asyncState)
|
||||
{
|
||||
return this.BeginInvoke("CreateEnterpriseStorageVirtualDirectory", new object[] {
|
||||
siteId,
|
||||
directory}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndCreateEnterpriseStorageVirtualDirectory(System.IAsyncResult asyncResult)
|
||||
{
|
||||
this.EndInvoke(asyncResult);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateEnterpriseStorageVirtualDirectoryAsync(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
this.CreateEnterpriseStorageVirtualDirectoryAsync(siteId, directory, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateEnterpriseStorageVirtualDirectoryAsync(string siteId, WebVirtualDirectory directory, object userState)
|
||||
{
|
||||
if ((this.CreateEnterpriseStorageVirtualDirectoryOperationCompleted == null))
|
||||
{
|
||||
this.CreateEnterpriseStorageVirtualDirectoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateEnterpriseStorageVirtualDirectoryOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("CreateEnterpriseStorageVirtualDirectory", new object[] {
|
||||
siteId,
|
||||
directory}, this.CreateEnterpriseStorageVirtualDirectoryOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnCreateEnterpriseStorageVirtualDirectoryOperationCompleted(object arg)
|
||||
{
|
||||
if ((this.CreateEnterpriseStorageVirtualDirectoryCompleted != null))
|
||||
{
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.CreateEnterpriseStorageVirtualDirectoryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/UpdateVirtualDirectory", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -6162,6 +6218,10 @@ namespace WebsitePanel.Providers.Web
|
|||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void CreateVirtualDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
|
||||
public delegate void CreateEnterpriseStorageVirtualDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void UpdateVirtualDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
|
|
|
@ -366,6 +366,22 @@ namespace WebsitePanel.Server
|
|||
}
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void CreateEnterpriseStorageVirtualDirectory(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.WriteStart("'{0}' CreateEnterpriseStorageVirtualDirectory", ProviderSettings.ProviderName);
|
||||
WebProvider.CreateEnterpriseStorageVirtualDirectory(siteId, directory);
|
||||
Log.WriteEnd("'{0}' CreateEnterpriseStorageVirtualDirectory", ProviderSettings.ProviderName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteError(String.Format("'{0}' CreateEnterpriseStorageVirtualDirectory", ProviderSettings.ProviderName), ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void UpdateVirtualDirectory(string siteId, WebVirtualDirectory directory)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue