C# 如何获取检查网络路径存在的访问权限
我有一个小程序来配置另一个程序。 使用该程序,它可以保存存储库服务器的详细信息(存储库路径、用户名和密码)。存储库路径始终是网络路径。因此,我使用这段代码验证该路径。C# 如何获取检查网络路径存在的访问权限,c#,C#,我有一个小程序来配置另一个程序。 使用该程序,它可以保存存储库服务器的详细信息(存储库路径、用户名和密码)。存储库路径始终是网络路径。因此,我使用这段代码验证该路径。 Directory.Exists(txtRepositaryPath.Text) 我的问题是,是否有任何方法可以允许上述代码。 它只是在没有许可的情况下返回false。有没有办法做到这一点?您可以添加文件,以便在程序运行之前获得用户的权限,这样应用程序将在管理模式下运行,并能够访问授权的文件夹 示例 读取以添加应用程序配置文件,这
Directory.Exists(txtRepositaryPath.Text)
我的问题是,是否有任何方法可以允许上述代码。
它只是在没有许可的情况下返回false。有没有办法做到这一点?您可以添加文件,以便在程序运行之前获得用户的权限,这样应用程序将在管理模式下运行,并能够访问授权的文件夹
示例
读取以添加应用程序配置文件,这样您可以看到程序的权限,并将此requestedPrivileges替换为
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
要访问网络上的文件夹,您需要能够使用窗口资源管理器查看文件夹。该文件夹实际上已安装在另一台PC(或文件服务器)上。因此必须存在以下内容1)文件夹必须在远程计算机上共享2)必须在远程计算机和本地计算机上都设置了组帐户3)您的用户帐户必须在远程计算机和本地计算机上的组中。感谢您的响应。是的,存储库路径在网络上共享,其他2个不确定,可能是可能的。你有密码吗?这不是密码。它是Windows中的用户帐户设置。如果您在公司网络上,则MIS人员需要更新组策略。如果Windows用户组设置不正确,则更改访问权限将无效。
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;
}
}