public ActionResult Validate(LogOnModel model) { string emailAdd = model.EmailAddress; string User = Membership.GetUserNameByEmail(emailAdd); //AdMember adMember = new AdMember(); ADUserDetails userModel = new ADUserDetails(); userModel.UserDetails = new List <UserDetail>(); UserDetail userDetail = new UserDetail(); //DateTime CreationDate = adMember.GetUserCreationDate(emailAdd); ViewBag.Message = "Welcome " + User; //if (CreationDate.Equals(DateTime.MinValue)) //{ // ViewBag.Message = "Welcome " + User // + "<br>" + "Creation Date is Set To Minimum System Date: " + DateTime.MinValue // + "<br>" + GetUserOU(emailAdd); // userDetail.DateOfCreation = "Creation Date is Set To Minimum System Date: " + DateTime.MinValue; // userDetail.EnvironmentName = GetUserOU(emailAdd); // userDetail.UserName = User; // userDetail.UserStatus = GetUserOU(emailAdd); // userModel.UserDetails.Add(userDetail); //} //else //{ // ViewBag.Message = "Welcome " + User // + " ===============================> Email Add for Current User is : " + emailAdd + ": Was Created On Date: " + adMember.GetUserCreationDate(emailAdd).ToString() // + ".............................>" + GetUserOU(emailAdd); // userDetail.DateOfCreation = "Email Add for Current User is : " + emailAdd + ": Was Created On Date: " + adMember.GetUserCreationDate(emailAdd).ToString(); // userDetail.EnvironmentName = GetUserOU(emailAdd); // userDetail.UserName = User; // userDetail.UserStatus = GetUserOU(emailAdd); // userModel.UserDetails.Add(userDetail); //} if (string.IsNullOrEmpty(User)) { ViewBag.Message = "User With email address " + emailAdd + " was not found"; } return(View("ValidateUser", GetUserOU(emailAdd))); }
protected void cmdGetUserinfo_Click(object sender, EventArgs e) { string EmailAddress = TextUserEmailAddress.Text.Trim(); try { if (!String.IsNullOrEmpty(EmailAddress) && System.Text.RegularExpressions.Regex.IsMatch(EmailAddress, emailPattern)) { string sActiveStatus = "UNKNOWN, this may indicate an error in the AD account. "; ADUserDetails ADUsers = SM.GetUserOU(EmailAddress); foreach (UserDetail User in ADUsers.UserDetails) { hrefLink.HRef = User.EnvironmentName; SaltUserEmail.Text = User.Mail; SaltUserName.Text = User.UserName; DateOfCreation.Text = User.DateOfCreation; UserPrincipalName.Text = User.UserPrincipalName; UserEnvironmentName.Text = User.EnvironmentName; SaltShakerSession.UserEnvironment = UserEnvironmentName.Text; CN.Text = User.CN; sActiveStatus = (User.bisActice == true) ? "ACTIVE" : "[[ NOT ]] ACTIVE"; //if (User.bisActice) // cmdToggleActivate.Text = "Deactivate user"; //else // cmdToggleActivate.Text = "Re-Activate user"; if (!User.EnvironmentName.Equals("Production")) { UserEnvironmentName.ForeColor = System.Drawing.ColorTranslator.FromHtml("green"); } PHListUserInfo.Visible = true; ShowMessage("User " + EmailAddress + " is currently " + sActiveStatus); } if (ADUsers.UserDetails.Count == 0) { ShowMessage("No users with email address: " + EmailAddress + " were found."); PHListUserInfo.Visible = false; } } else { ShowMessage(sMSG_EmailValidation); PHListUserInfo.Visible = false; } } catch (Exception ex) { //needs loging ExceptionMessageException Oops = new ExceptionMessageException(String.Format(sMSG_WARNING, ex.Message)); ShowMessage(Oops.Message); } }
private ADUserDetails GetUserOU(string emailAdd) { DirectoryEntry myLdapConnection = new DirectoryEntry("LDAP://app.extranet.local/ DC=app,DC=extranet,DC=local", "sv_NPedmsacctcre", "XeJpOWC1", AuthenticationTypes.Secure); DirectorySearcher search = new DirectorySearcher(myLdapConnection); // StringBuilder UserOus = new StringBuilder(); ADUserDetails userDetails = new ADUserDetails(); userDetails.EmailAddress = emailAdd; // search.Filter = "(objectCategory=Organizational-Unit)"; // mail is the attribute used to validate user in salt as per jarvien Matthew // search.Filter = ("(&(objectclass=user)(objectcategory=person)(mail=" + emailAdd + "))"); //Searching on CN cause CN can be duplicate search.Filter = ("(&(objectclass=user)(objectcategory=person)(CN=" + emailAdd + "))"); try { SearchResultCollection collectedResult = search.FindAll(); if (collectedResult.Count.Equals(0)) { search.Filter = ("(&(objectclass=user)(objectcategory=person)(mail=" + emailAdd + "))"); collectedResult = search.FindAll(); } foreach (SearchResult temp in collectedResult) { UserDetail userDetail = new UserDetail(); userDetail.DateOfCreation = DateTime.Parse(temp.Properties["WhenCreated"][0].ToString()).ToLocalTime().ToString(); userDetail.EnvironmentName = GetEnvironmentName(temp.Properties["distinguishedname"][0].ToString()); userDetail.UserName = temp.Properties["name"][0].ToString(); userDetail.UserPrincipalName = temp.Properties["userPrincipalName"][0].ToString(); userDetail.Mail = temp.Properties["mail"][0].ToString(); userDetail.CN = temp.Properties["CN"][0].ToString(); userDetails.UserDetails.Add(userDetail); //UserOus.Append(temp.Properties["name"][0].ToString()); //UserOus.Append(" Belongs to Following Organization Units "); //UserOus.Append(temp.Properties["distinguishedname"][0].ToString()); //foreach (DictionaryEntry de in temp.Properties) //{ // //Console.WriteLine("key " + de.Key); // //Console.WriteLine("Value " + de.Value); // //UserOus.Append("key " + de.Key.ToString()); // //UserOus.Append("Value " + de.Value.ToString()); // UserOus.Append(temp.Properties[de.Key.ToString()][0].ToString()); //} DirectoryEntry ou = temp.GetDirectoryEntry(); } } catch (Exception ex) { userDetails.ErrorMsg = ex.Message; } finally { } return(userDetails); }