【发布时间】:2016-10-01 14:27:57
【问题描述】:
我需要设置一个文件夹的访问控制
我的代码是
Private Sub cmdApplyRestrictions_Click(sender As Object, e As EventArgs) Handles cmdApplyRestrictions.Click
Dim myDirectoryInfo As New DirectoryInfo(txtFolder.Text)
Dim myDirectorySecurity As DirectorySecurity = myDirectoryInfo.GetAccessControl()
Dim User As String = System.Environment.UserDomainName + "\" + cmbUser.SelectedItem.ToString()
myDirectorySecurity.AddAccessRule(New FileSystemAccessRule(User, FileSystemRights.Read, AccessControlType.Deny))
myDirectoryInfo.SetAccessControl(myDirectorySecurity)
MessageBox.Show("Permissions Altered Successfully")
End Sub
一行
myDirectoryInfo.SetAccessControl(myDirectorySecurity)
作为
给出异常在 mscorlib.dll 中发生了“System.UnauthorizedAccessException”类型的未处理异常
我以具有管理权限但不是管理员本身的用户身份登录 我需要阻止所有用户的访问,包括登录用户以及包括管理员在内的所有用户
等我的程序结束后,我会恢复权限
还有一个要求是我希望向一个外部程序授予对该文件夹的访问权限
【问题讨论】:
-
如果您使用的是 Windows,则不能“向一个外部程序授予对该文件夹的访问权限”,因为进程本身没有权限。 (可能想澄清您在问题中使用非 Windows 操作系统的事实)
-
我使用的是 Windows 8
标签: c# vb.net permissions directory access-control