[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 202
  • Last Modified:

How to determine if I have write permission to a directory in .Net 4.5

I was trying to use the following code in c# to determine if I have write access to a directory.  Does anyone know if there is an easier way to do this in .Net 4.5?

 public static bool hasWriteAccessToFolder(string folderPath)
        {
            var writeAllow = false;
            var writeDeny = false;
            var accessControlList = Directory.GetAccessControl(folderPath);
            if (accessControlList == null)
                return false;
            var accessRules = accessControlList.GetAccessRules(true, true,
                                        typeof(System.Security.Principal.SecurityIdentifier));
            if (accessRules == null)
                return false;

            foreach (System.Security.AccessControl.FileSystemAccessRule rule in accessRules)
            {
                if ((System.Security.AccessControl.FileSystemRights.Write & rule.FileSystemRights) != System.Security.AccessControl.FileSystemRights.Write)
                    continue;

                if (rule.AccessControlType == System.Security.AccessControl.AccessControlType.Allow)
                    writeAllow = true;
                else if (rule.AccessControlType == System.Security.AccessControl.AccessControlType.Deny)
                    writeDeny = true;
            }

            return writeAllow && !writeDeny;
        }

Open in new window

0
rye004
Asked:
rye004
  • 2
1 Solution
 
Kyle AbrahamsSenior .Net DeveloperCommented:
You could always try to write a sample file and catch the exception.
0
 
rye004Author Commented:
I did think about that, however I have to imagine there is a better way.
0
 
Kyle AbrahamsSenior .Net DeveloperCommented:
You either check the permissions (as done in the code provided) or attempt to directly write and see if it succeeds or not.  

If there's another method you can describe in english Maybe we can find something that matches your need, but those 2 are the apparent ways.
0

Featured Post

Configuration Guide and Best Practices

Read the guide to learn how to orchestrate Data ONTAP, create application-consistent backups and enable fast recovery from NetApp storage snapshots. Version 9.5 also contains performance and scalability enhancements to meet the needs of the largest enterprise environments.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now