protected bool CheckGroupAttribute(LDAPObject group, string groupAttr) { try { group.InvokeGet(groupAttr); } catch (Exception e) { log.ErrorFormat("Wrong Group Attribute parameter: {0}. {1}", groupAttr, e); return(false); } return(true); }
private string GetAttributeFromUser(LDAPObject domainUser, string attribute) { if (String.IsNullOrEmpty(attribute)) { return(String.Empty); } try { return(domainUser.InvokeGet(attribute) as string); } catch (Exception e) { _log.ErrorFormat("Can't get attribute from user: attr = {0}, dn = {1}, {2}", attribute, domainUser.DistinguishedName, e); return(String.Empty); } }
protected bool CheckUserAttribute(LDAPObject user, string userAttr) { try { var userAttribute = user.InvokeGet(userAttr); if (userAttribute == null || string.IsNullOrWhiteSpace(userAttribute.ToString())) { log.ErrorFormat("Wrong Group Attribute parameter: {0}", userAttr); return(false); } } catch (Exception e) { log.ErrorFormat("Wrong Group Attribute parameter: {0}. {1}", userAttr, e); return(false); } return(true); }
protected bool CheckLoginAttribute(LDAPObject user, string loginAttribute) { string memberUser = null; try { var member = user.InvokeGet(loginAttribute); memberUser = member != null?member.ToString() : null; if (string.IsNullOrWhiteSpace(memberUser)) { log.ErrorFormat("Wrong Login Attribute parameter: {0}", memberUser); return(false); } } catch (Exception e) { log.ErrorFormat("Wrong Login Attribute parameter: memberUser = {0}. {1}", memberUser, e); return(false); } return(true); }
private UserInfo CreateUserInfo(LDAPObject domainUser, LDAPSupportSettings settings) { string userName = GetAttributeFromUser(domainUser, settings.LoginAttribute); string firstName = GetAttributeFromUser(domainUser, settings.FirstNameAttribute); string secondName = GetAttributeFromUser(domainUser, settings.SecondNameAttribute); string mail = GetAttributeFromUser(domainUser, settings.MailAttribute); string mobilePhone = GetAttributeFromUser(domainUser, settings.MobilePhoneAttribute); string title = GetAttributeFromUser(domainUser, settings.TitleAttribute); string location = GetAttributeFromUser(domainUser, settings.LocationAttribute); List <string> contacts = new List <string>(2); if (!string.IsNullOrEmpty(mobilePhone)) { contacts.Add(mobPhone); contacts.Add(mobilePhone); } var user = new UserInfo { ID = Guid.NewGuid(), UserName = userName, Sid = domainUser.Sid, ActivationStatus = (!string.IsNullOrEmpty(mail) ? EmployeeActivationStatus.Activated : EmployeeActivationStatus.NotActivated), Email = (!string.IsNullOrEmpty(mail) ? mail : string.Empty), Title = (!string.IsNullOrEmpty(title) ? title : string.Empty), Location = (!string.IsNullOrEmpty(location) ? location : string.Empty), WorkFromDate = TenantUtil.DateTimeNow(), Contacts = contacts }; if (!string.IsNullOrEmpty(firstName)) { if (firstName.Length > maxNumberOfSymbols) { user.FirstName = firstName.Substring(0, maxNumberOfSymbols); } else { user.FirstName = firstName; } } else { user.FirstName = string.Empty; } if (!string.IsNullOrEmpty(secondName)) { if (secondName.Length > maxNumberOfSymbols) { user.LastName = secondName.Substring(0, maxNumberOfSymbols); } else { user.LastName = secondName; } } else { user.LastName = string.Empty; } if (user.Email == string.Empty) { var domain = ldapHelper.GetDomain(settings); //DC= or dc= var domainName = domain != null && domain.DistinguishedName != null? domain.DistinguishedName.Remove(0, 3).Replace(",DC=", ".").Replace(",dc=", ".") : unknownDomain; string loginName = domainUser.InvokeGet(settings.LoginAttribute).ToString(); string email = loginName.Contains("@") ? loginName : loginName + "@" + domainName; user.Email = email.Replace(" ", string.Empty); } return(user); }