organization password reset email added + scheduler fixes

This commit is contained in:
vfedosevich 2015-04-07 03:37:35 -07:00
parent 606233361f
commit dd15673752
15 changed files with 541 additions and 9 deletions

View file

@ -490,6 +490,11 @@ namespace WebsitePanel.Providers.HostedSolution
{
var result = new List<OrganizationUser>();
if (string.IsNullOrEmpty(organizationId))
{
return result;
}
var maxPasswordAgeSpan = GetMaxPasswordAge();
var searchRoot = new DirectoryEntry(GetOrganizationPath(organizationId));
@ -513,7 +518,7 @@ namespace WebsitePanel.Providers.HostedSolution
var expirationDate = pwdLastSetDate.AddDays(maxPasswordAgeSpan.Days);
if (pwdLastSetDate > expirationDate.AddDays(-daysBeforeExpiration))
if (expirationDate.AddDays(-daysBeforeExpiration) < DateTime.Now)
{
var user = new OrganizationUser();
@ -866,9 +871,22 @@ namespace WebsitePanel.Providers.HostedSolution
retUser.UserPrincipalName = (string)entry.InvokeGet(ADAttributes.UserPrincipalName);
retUser.UserMustChangePassword = GetUserMustChangePassword(entry);
retUser.PasswordExpirationDateTime = GetPasswordExpirationDate(entry);
return retUser;
}
private DateTime GetPasswordExpirationDate(DirectoryEntry entry)
{
var maxPasswordAgeSpan = GetMaxPasswordAge();
var pwdLastSetTicks = ConvertADSLargeIntegerToInt64(entry.Properties[ADAttributes.PwdLastSet].Value);
var pwdLastSetDate = DateTime.FromFileTimeUtc(pwdLastSetTicks);
return pwdLastSetDate.AddDays(maxPasswordAgeSpan.Days);
}
private string GetDomainName(string username)
{
string domain = ActiveDirectoryUtils.GetNETBIOSDomainName(RootDomain);