c# - Using UNC path to retrieve a folder's groups and users -


i have been set task allow user enter unc path (i.e. \\bla.org.dom\temp\test\lowest) , lowest folder highest, construct list of groups , users have read/write permissions on each folder. have spent quite time looking @ activedirectory services , have turned nothing dead ends. whilst have quite grasp of c# activedirectory , ldap seems go on head. suggestions of material read on welcomed.

as first post, criticism on question format welcome!

edit: given further research using directory security method's, , accessrules, have gotten stage can recursively call list of account names. close need i'm finding harder implement call on unc path.

the answer lied within directoryinfo , directorysecurity namespaces. using information provided earlier checking-for-directory-and-file-write-permissions-in-net managed create recursively calling method generates list of users/groups have read/write on folders, starting @ top , working down lowest directory.

string dir = "";         if (input.text.contains(@"\\"))         {             dir += @"\\";         }         string[] folders = input.text.split(new char[] { '\\', '/' }, stringsplitoptions.removeemptyentries);           foreach (string folder in folders)         {              if (dir.contains(@"\\") && folder == folders[0])             {                 dir += folder + @"\";             }             else             {                 dir += folder + @"\";                 resultgroup newbox = new resultgroup(folder);                  newbox.label1.click += (x, y) =>                 {                     splitcontainer1.panel2collapsed = false;                     listbox1.items.add(newbox.label1.text);                 };                 flowlayoutpanel1.controls.add(newbox);                   directoryinfo di = new directoryinfo(dir);                 directorysecurity ds = di.getaccesscontrol();                 foreach (accessrule rule in ds.getaccessrules(true, true, typeof(ntaccount)))                 {                     newbox.listbox1.items.add(string.format("{0}", rule.identityreference.value));                 }             }         } 

this allows user enter local path, e.g. "c:\temp\test folder" or unc path "\server\share\temp\network test folder", processed folder folder, populating form using display data.


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -