public override LdapObject GetUserBySid(string sid) { try { var ldapUniqueIdAttribute = ConfigurationManagerExtension.AppSettings["ldap.unique.id"]; Criteria criteria; if (ldapUniqueIdAttribute == null) { criteria = Criteria.Any( Expression.Equal(LdapConstants.RfcLDAPAttributes.ENTRY_UUID, sid), Expression.Equal(LdapConstants.RfcLDAPAttributes.NS_UNIQUE_ID, sid), Expression.Equal(LdapConstants.RfcLDAPAttributes.GUID, sid), Expression.Equal(LdapConstants.ADSchemaAttributes.OBJECT_SID, sid) ); } else { criteria = Criteria.All(Expression.Equal(ldapUniqueIdAttribute, sid)); } var searchfilter = string.Format("(&{0}{1})", Settings.UserFilter, criteria); var list = LDAPSearcher.Search(Settings.UserDN, NovellLdapSearcher.LdapScope.Sub, searchfilter, limit: 1); return(list.FirstOrDefault()); } catch (Exception e) { Log.ErrorFormat("NovellLdapHelper->GetUserBySid(sid: '{0}') failed. Error: {1}", sid, e); } return(null); }
public override List <LDAPObject> GetUsersByAttributes(LDAPSupportSettings settings) { string password = GetPassword(settings.PasswordBytes); var criteria = Criteria.All(Expression.Exists(settings.LoginAttribute)); var novellLdapSearcher = new NovellLdapSearcher(AcceptCertificate); List <LDAPObject> searchResult = novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, criteria, settings.UserFilter, settings.UserDN); return(searchResult); }
public override List <LDAPObject> GetUsersFromPrimaryGroup(LDAPSupportSettings settings, string primaryGroupID) { var distinguishedName = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; try { return(systemLdapSearcher.Search(distinguishedName, Criteria.All(Expression.Equal( Constants.ADSchemaAttributes.PrimaryGroupID, primaryGroupID)), settings.UserFilter, settings)); } catch (Exception e) { log.ErrorFormat("Can not access to directory: {0}. {1}", distinguishedName, e); } return(null); }
public static List <LDAPUser> GetUsersFromPrimaryGroup(LDAPSupportSettings settings, string primaryGroupID) { var dn = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; try { return(Search(dn, Criteria.All(Expression.Exists(settings.BindAttribute)).Add(Criteria.All( Expression.Equal(Constants.ADSchemaAttributes.PrimaryGroupID, primaryGroupID))), settings.UserFilter, settings). ConvertAll <LDAPUser>((LDAPObject obj) => obj as LDAPUser).Where(g => g != null).ToList()); } catch (Exception e) { _log.ErrorFormat("Can not access to directory: {0}. {1}", dn, e); } return(null); }
internal bool MeetsCriterion(string ruleId) { Logger.Debug($"Checking criterion {ruleId}"); if (Criteria.All(x => x.Id != ruleId)) { throw new Exception($"Could not find the specified rule '{ruleId}'"); } GameCriterion criterion = Criteria.First(x => x.Id == ruleId); if (criterion.Criterion == null) { throw new Exception("Expected game criterion to have a specified invokable method"); } return(criterion.Criterion(this)); }
public override LDAPObject GetUserBySid(LDAPSupportSettings settings, string sid) { var distinguishedName = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; try { var list = systemLdapSearcher.Search(distinguishedName, Criteria.All( Expression.Equal(Constants.ADSchemaAttributes.ObjectSid, sid)), settings.UserFilter, settings); if (list.Count != 0) { return(list[0]); } } catch (Exception e) { log.ErrorFormat("Can not access to directory: {0}. {1}", distinguishedName, e); } return(null); }
public override List <LDAPObject> GetUsersByAttributes(LDAPSupportSettings settings) { var distinguishedName = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; try { return(systemLdapSearcher.Search(distinguishedName, Criteria.All(Expression.Exists(settings.LoginAttribute)), settings.UserFilter, settings)); } catch (ArgumentException) { throw new ArgumentException(); } catch (Exception e) { log.ErrorFormat("Can not access to directory: {0}. {1}", distinguishedName, e); } return(null); }
public static List <LDAPUser> GetUsersByAttributesAndFilter(LDAPSupportSettings settings, string filter) { var dn = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; if (!string.IsNullOrEmpty(settings.UserFilter) && !settings.UserFilter.StartsWith("(") && !settings.UserFilter.EndsWith(")")) { settings.UserFilter = "(" + settings.UserFilter + ")"; } filter = "(&" + settings.UserFilter + filter + ")"; try { return(Search(dn, Criteria.All(Expression.Exists(settings.BindAttribute)), filter, settings). ConvertAll <LDAPUser>((LDAPObject obj) => obj as LDAPUser).Where(u => u != null).ToList()); } catch (Exception e) { _log.ErrorFormat("Can not access to directory: {0}. {1}", dn, e); } return(null); }
public static List <LDAPUser> GetUsersByAttributes(LDAPSupportSettings settings) { var dn = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; try { return(Search(dn, Criteria.All(Expression.Exists(settings.BindAttribute), Expression.Exists(settings.LoginAttribute)), settings.UserFilter, settings). ConvertAll <LDAPUser>((LDAPObject obj) => obj as LDAPUser).Where(u => u != null).ToList()); } catch (ArgumentException) { throw new ArgumentException(); } catch (Exception e) { _log.ErrorFormat("Can not access to directory: {0}. {1}", dn, e); } return(null); }
public async Task <IEnumerable <Document> > GetResultAsync() { var response = await Client.GetAsync($"{EndpointProvider.Endpoint}/{Container}").ConfigureAwait(false); if (!response.IsSuccessStatusCode) { throw new Exception($"{response.StatusCode} {response.ReasonPhrase}: {await response.Content.ReadAsStringAsync().ConfigureAwait(false)}"); } var result = new List <Document>(); var items = JsonConvert.DeserializeObject <List <Document> >(await response.Content.ReadAsStringAsync().ConfigureAwait(false)); foreach (var document in items) { if (Criteria.All(c => c(document))) { result.Add(document); } } return(result.AsReadOnly()); }
public static LDAPUser GetUserBySid(LDAPSupportSettings settings, string sid) { var dn = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; try { var list = Search(dn, Criteria.All(Expression.Exists(settings.BindAttribute)).Add(Criteria.All( Expression.Equal(Constants.ADSchemaAttributes.ObjectSid, sid))), settings.UserFilter, settings). ConvertAll <LDAPUser>((LDAPObject obj) => obj as LDAPUser).Where(u => u != null).ToList(); if (list.Count == 0) { return(null); } else { return(list[0]); } } catch (Exception e) { _log.ErrorFormat("Can not access to directory: {0}. {1}", dn, e); } return(null); }
public override List <LDAPObject> GetUsersFromPrimaryGroup(LDAPSupportSettings settings, string primaryGroupId) { var distinguishedName = settings.Server + ":" + settings.PortNumber + "/" + settings.UserDN; var password = GetPassword(settings.PasswordBytes); var novellLdapSearcher = new NovellLdapSearcher(AcceptCertificate); try { return(novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, Criteria.All( Expression.Equal(Constants.ADSchemaAttributes.PRIMARY_GROUP_ID, primaryGroupId)), settings.UserFilter, distinguishedName)); } catch (Exception e) { Log.ErrorFormat("Can not access to directory: {0}. {1}", distinguishedName, e); } return(null); }
public bool IsScientific() { return(Criteria.All(x => x.IsMet())); }
public override LDAPObject GetUserBySid(LDAPSupportSettings settings, string sid) { string password = GetPassword(settings.PasswordBytes); try { string ldapUniqueIdAttribute = ConfigurationManager.AppSettings["ldap.unique.id"]; List <LDAPObject> list; var novellLdapSearcher = new NovellLdapSearcher(AcceptCertificate); if (ldapUniqueIdAttribute == null) { list = novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, Criteria.All(Expression.Equal(Constants.RFCLDAPAttributes.EntryUUID, sid)), settings.UserFilter, settings.UserDN); if (list == null || list.Count == 0) { list = novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, Criteria.All(Expression.Equal(Constants.RFCLDAPAttributes.NSUniqueId, sid)), settings.UserFilter, settings.UserDN); if (list == null || list.Count == 0) { list = novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, Criteria.All(Expression.Equal(Constants.RFCLDAPAttributes.GUID, sid)), settings.UserFilter, settings.UserDN); if (list == null || list.Count == 0) { list = novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, Criteria.All(Expression.Equal(Constants.ADSchemaAttributes.ObjectSid, sid)), settings.UserFilter, settings.UserDN); } } } } else { list = novellLdapSearcher.Search(settings.Login, password, settings.Server, settings.PortNumber, LdapConnection.SCOPE_SUB, settings.StartTls, Criteria.All(Expression.Equal(ldapUniqueIdAttribute, sid)), settings.UserFilter, settings.UserDN); } if (list.Count != 0) { return(list[0]); } } catch (Exception e) { log.ErrorFormat("Can not access to directory: {0}. {1}", settings.UserDN, e); } return(null); }