public void GetEntry_ByPath_EntryCreatedByPath() { adapter.GetEntry("anypath"); A.CallTo(() => directoryEntryFactory.Create("anypath", serverConfig.Username, serverConfig.Password, serverConfig.AuthenticationTypes)).MustHaveHappened(Repeated.Exactly.Once); }
public List <string> FindNetworkComputers() { var root = _directoryEntryFactory.Create("WinNT:"); return((from IDirectoryEntry dom in root.Children from IDirectoryEntry entry in dom.Children where entry.SchemaClassName == "Computer" select @"\\" + entry.Name).ToList()); }
protected virtual bool IsGroupNameAdministrators <T>(T member, string adGroup) { using (IDirectoryEntry memberEntry = _directoryEntryFactory.Create(member)) { if (memberEntry.Name == adGroup) { return(true); } } return(false); }
protected AuthorizationServiceBase(IDirectoryEntryFactory directoryEntryFactory, ISecurityService securityService, bool isLocalConnection) { VerifyArgument.IsNotNull("SecurityService", securityService); VerifyArgument.IsNotNull("DirectoryEntryFactory", directoryEntryFactory); _securityService = securityService; _securityService.Read(); _isLocalConnection = isLocalConnection; _securityService.PermissionsChanged += (s, e) => RaisePermissionsChanged(); _securityService.PermissionsModified += (s, e) => OnPermissionsModified(e); _directoryEntryFactory = directoryEntryFactory; AreAdministratorsMembersOfWarewolfAdministrators = delegate { var adGroup = FindGroup(new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null)); using (var ad = directoryEntryFactory.Create("WinNT://" + Environment.MachineName + ",computer")) { ad.Children.SchemaFilter.Add("group"); foreach (IDirectoryEntry dChildEntry in ad.Children) { if (dChildEntry.Name != "Warewolf Administrators") { continue; } var members = dChildEntry.Invoke("Members"); if (members == null) { continue; } foreach (var member in (IEnumerable)members) { if (IsGroupNameAdministrators(member, adGroup)) { return(true); } } } } return(false); }; }
private IDirectoryEntry GetEntry(string path, string username, string password) { return(directoryEntryFactory.Create(path, username, password, serverConfig.AuthenticationTypes)); }