如何获取访问权限以检查网络路径是否存在

时间:2018-06-25 09:59:49

标签: c# permissions access

我有一个小程序可以配置另一个程序。 使用该程序,它将保存存储库服务器详细信息(存储库路径以及用户名和密码)。存储库路径始终是网络路径。所以我使用这段代码来验证该路径。 Directory.Exists(txtRepositaryPath.Text)

我的问题是有什么方法可以授予上述代码许可。 它总是在没有权限的情况下总是返回false有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以添加https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html文件以在程序运行之前获得用户的许可,以便该应用程序将以Admin模式运行并能够访问授权的文件夹。

示例

阅读app.config以添加应用程序配置文件,这样您就可以看到程序的许可权,并将此请求的特权替换为

<requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>

您可以使用以下方法检查目录是否可访问

  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;
    }
 }