Permissão de gravação em pasta


/ Published in: C#
Save to your folder(s)

Como definir permissão de gravação para uma determinada pasta por um determinado usuário.


Copy this code and paste it in your HTML
  1. string sPath = Path.GetDirectoryName(Application.ExecutablePath);
  2. string sTmpPath = sPath + "\\Temp\\";
  3.  
  4. // ********* REMOVER *************
  5. //MessageBox.Show("Path: " + sTmpPath, "Tz0 info", MessageBoxButtons.OK, MessageBoxIcon.Information);
  6.  
  7. if (!Directory.Exists(sTmpPath))
  8. Directory.CreateDirectory(sTmpPath);
  9.  
  10. // Pega a segurança atual da pasta
  11. DirectorySecurity oDirSec = Directory.GetAccessControl(sTmpPath);
  12.  
  13. // Define o usuário Everyone (Todos)
  14. SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
  15. //SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null);
  16. NTAccount oAccount = sid.Translate(typeof(NTAccount)) as NTAccount;
  17.  
  18. oDirSec.PurgeAccessRules(oAccount);
  19.  
  20. FileSystemAccessRule fsAR = new FileSystemAccessRule(oAccount,
  21. FileSystemRights.Modify,
  22. InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
  23. PropagationFlags.None,
  24. AccessControlType.Allow);
  25.  
  26. // Atribui a regra de acesso alterada
  27. oDirSec.SetAccessRule(fsAR);
  28. Directory.SetAccessControl(sTmpPath, oDirSec);

URL: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=457246&SiteID=1

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.