C#测试用户是否对文件夹具有写权限

我需要在实际尝试之前测试用户是否可以写入文件夹。

我已经实现了以下方法(在C#2.0中),该方法尝试使用Directory.GetAccessControl()方法检索文件夹的安全权限。

private bool hasWriteAccessToFolder(string folderPath)

{

try

{

// Attempt to get a list of security permissions from the folder.

// This will raise an exception if the path is read only or do not have access to view the permissions.

System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(folderPath);

return true;

}

catch (UnauthorizedAccessException)

{

return false;

}

}

当我谷歌搜索如何测试写访问权限时,没有出现这样的情况,而实际上在Windows中测试权限似乎非常复杂。我担心我过分简化了该方法,尽管该方法确实可行,但该方法并不可靠。

我的方法是否可以测试当前用户是否具有写访问权限?

回答:

这是检查C#中的文件夹访问的一种完全有效的方法。它可能掉下来的唯一地方是,如果您需要在一个紧密循环中调用它,在此情况下,异常的开销 可能 是一个问题。

之前还有其他类似的

问题。

以上是 C#测试用户是否对文件夹具有写权限 的全部内容, 来源链接: utcz.com/qa/423176.html

回到顶部