Merge
This commit is contained in:
commit
88d5bd7c73
5 changed files with 106 additions and 9 deletions
|
@ -1314,8 +1314,18 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
// load organization
|
// load organization
|
||||||
Organization org = GetOrganization(itemId);
|
Organization org = GetOrganization(itemId);
|
||||||
|
|
||||||
if (org == null)
|
if (org == null)
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringDictionary serviceSettings = ServerController.GetServiceSettings(org.ServiceId);
|
||||||
|
|
||||||
|
if (serviceSettings == null)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
// check package
|
// check package
|
||||||
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
||||||
|
@ -1329,7 +1339,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||||
|
|
||||||
string upn = string.Format("{0}@{1}", name, domain);
|
string upn = string.Format("{0}@{1}", name, domain);
|
||||||
string sAMAccountName = BuildAccountName(org.OrganizationId, name, org.ServiceId);
|
string sAMAccountName = AppendOrgId(serviceSettings) ? BuildAccountNameWithOrgId(org.OrganizationId, name, org.ServiceId) : BuildAccountName(org.OrganizationId, name, org.ServiceId);
|
||||||
|
|
||||||
TaskManager.Write("accountName :" + sAMAccountName);
|
TaskManager.Write("accountName :" + sAMAccountName);
|
||||||
TaskManager.Write("upn :" + upn);
|
TaskManager.Write("upn :" + upn);
|
||||||
|
@ -1367,7 +1377,23 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary> Checks should or not user name include organization id. </summary>
|
||||||
|
/// <param name="serviceSettings"> The service settings. </param>
|
||||||
|
/// <returns> True - if organization id should be appended. </returns>
|
||||||
|
private static bool AppendOrgId(StringDictionary serviceSettings)
|
||||||
|
{
|
||||||
|
if (!serviceSettings.ContainsKey("usernameformat"))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!serviceSettings["usernameformat"].Equals("Append OrgId", StringComparison.CurrentCultureIgnoreCase))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public static int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, string subscriberNumber)
|
public static int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, string subscriberNumber)
|
||||||
{
|
{
|
||||||
|
@ -1474,6 +1500,40 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return accountName;
|
return accountName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary> Building account name with organization Id. </summary>
|
||||||
|
/// <param name="orgId"> The organization identifier. </param>
|
||||||
|
/// <param name="name"> The name. </param>
|
||||||
|
/// <param name="serviceId"> The service identifier. </param>
|
||||||
|
/// <returns> The account name with organization Id. </returns>
|
||||||
|
private static string BuildAccountNameWithOrgId(string orgId, string name, int serviceId)
|
||||||
|
{
|
||||||
|
int maxLen = 19 - orgId.Length;
|
||||||
|
|
||||||
|
// try to choose name
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
string num = i > 0 ? i.ToString() : "";
|
||||||
|
int len = maxLen - num.Length;
|
||||||
|
|
||||||
|
if (name.Length > len)
|
||||||
|
{
|
||||||
|
name = name.Substring(0, len);
|
||||||
|
}
|
||||||
|
|
||||||
|
string accountName = name + num + "_" + orgId;
|
||||||
|
|
||||||
|
// check if already exists
|
||||||
|
if (!AccountExists(accountName, serviceId))
|
||||||
|
{
|
||||||
|
return accountName;
|
||||||
|
}
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static string genSamLogin(string login, string strCounter)
|
private static string genSamLogin(string login, string strCounter)
|
||||||
{
|
{
|
||||||
int maxLogin = 20;
|
int maxLogin = 20;
|
||||||
|
|
|
@ -126,4 +126,13 @@
|
||||||
<data name="lblTemporyDomainName.Text" xml:space="preserve">
|
<data name="lblTemporyDomainName.Text" xml:space="preserve">
|
||||||
<value>Tempory Domain Name:</value>
|
<value>Tempory Domain Name:</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="lblUserNameFormat.Text" xml:space="preserve">
|
||||||
|
<value>Username Format:</value>
|
||||||
|
</data>
|
||||||
|
<data name="listItemStandard.Text" xml:space="preserve">
|
||||||
|
<value>Standard</value>
|
||||||
|
</data>
|
||||||
|
<data name="listItemAppendOrgId.Text" xml:space="preserve">
|
||||||
|
<value>Append OrgID</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -23,4 +23,13 @@
|
||||||
<asp:RequiredFieldValidator ControlToValidate="txtTemporyDomainName" ErrorMessage="*" />
|
<asp:RequiredFieldValidator ControlToValidate="txtTemporyDomainName" ErrorMessage="*" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="SubHead" nowrap="nowrap"><asp:Label runat="server" ID="UserNameFormatLabel" meta:resourcekey="lblUserNameFormat"/></td>
|
||||||
|
<td>
|
||||||
|
<asp:DropDownList runat="server" ID="UserNameFormatDropDown">
|
||||||
|
<asp:ListItem Value="1" meta:resourcekey="listItemStandard"/>
|
||||||
|
<asp:ListItem Value="2" meta:resourcekey="listItemAppendOrgId"/>
|
||||||
|
</asp:DropDownList>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
|
@ -35,6 +35,7 @@ namespace WebsitePanel.Portal.ProviderControls
|
||||||
public const string RootOU = "RootOU";
|
public const string RootOU = "RootOU";
|
||||||
public const string PrimaryDomainController = "PrimaryDomainController";
|
public const string PrimaryDomainController = "PrimaryDomainController";
|
||||||
public const string TemporyDomainName = "TempDomain";
|
public const string TemporyDomainName = "TempDomain";
|
||||||
|
public const string UserNameFormat = "UserNameFormat";
|
||||||
|
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
@ -46,6 +47,12 @@ namespace WebsitePanel.Portal.ProviderControls
|
||||||
txtPrimaryDomainController.Text = settings[PrimaryDomainController];
|
txtPrimaryDomainController.Text = settings[PrimaryDomainController];
|
||||||
txtRootOU.Text = settings[RootOU];
|
txtRootOU.Text = settings[RootOU];
|
||||||
txtTemporyDomainName.Text = settings[TemporyDomainName];
|
txtTemporyDomainName.Text = settings[TemporyDomainName];
|
||||||
|
|
||||||
|
if (settings.ContainsKey(UserNameFormat))
|
||||||
|
{
|
||||||
|
UserNameFormatDropDown.SelectedValue =
|
||||||
|
UserNameFormatDropDown.Items.FindByText(settings[UserNameFormat]).Value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SaveSettings(System.Collections.Specialized.StringDictionary settings)
|
public void SaveSettings(System.Collections.Specialized.StringDictionary settings)
|
||||||
|
@ -53,6 +60,7 @@ namespace WebsitePanel.Portal.ProviderControls
|
||||||
settings[RootOU] = txtRootOU.Text.Trim();
|
settings[RootOU] = txtRootOU.Text.Trim();
|
||||||
settings[PrimaryDomainController] = txtPrimaryDomainController.Text.Trim();
|
settings[PrimaryDomainController] = txtPrimaryDomainController.Text.Trim();
|
||||||
settings[TemporyDomainName] = txtTemporyDomainName.Text.Trim();
|
settings[TemporyDomainName] = txtTemporyDomainName.Text.Trim();
|
||||||
|
settings[UserNameFormat] = UserNameFormatDropDown.SelectedItem.Text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.1378
|
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -11,12 +10,6 @@
|
||||||
namespace WebsitePanel.Portal.ProviderControls {
|
namespace WebsitePanel.Portal.ProviderControls {
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Organizations_Settings class.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// Auto-generated class.
|
|
||||||
/// </remarks>
|
|
||||||
public partial class Organizations_Settings {
|
public partial class Organizations_Settings {
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -81,5 +74,23 @@ namespace WebsitePanel.Portal.ProviderControls {
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.TextBox txtTemporyDomainName;
|
protected global::System.Web.UI.WebControls.TextBox txtTemporyDomainName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UserNameFormatLabel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label UserNameFormatLabel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// UserNameFormatDropDown control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.DropDownList UserNameFormatDropDown;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue