文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Create Directory with windows access rights

Create Directory with windows access rights

时间:2011-03-11  来源:C.Jun

I met some troubles when tring to create directory with access rights, fortunately, I found some useful imformation, just mark them as below,

View Code
Imports System.Security.AccessControl

Imports System.IO



Public Class Form1



' Add access control for Windows Account to directory or file

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

AddFileSecurity(
"\\MartinXie\ShareFolder", "Everyone", "Write")

AddFileSecurity(
"\\MartinXie\ShareFolder", "Domain\UserCccount", "FullControl")

End Sub



Public Sub AddFileSecurity(ByVal filePath As String, ByVal username As String, ByVal power As String)

Dim dirinfo As DirectoryInfo
= New DirectoryInfo(filePath)

Dim dirsecurity As DirectorySecurity
= dirinfo.GetAccessControl()

Select Case power

Case
"FullControl"

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.FullControl, InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow))

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.FullControl, InheritanceFlags.None, PropagationFlags.InheritOnly, AccessControlType.Allow))

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow))

Case
"ReadOnly"

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.Read, AccessControlType.Allow))

Case
"Write"

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.Write, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow))

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.Write, InheritanceFlags.None, PropagationFlags.InheritOnly, AccessControlType.Allow))

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.Write, InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow))

Case
"Modify"

dirsecurity.AddAccessRule(New FileSystemAccessRule(username, FileSystemRights.Modify, AccessControlType.Allow))

End Select

dirinfo.SetAccessControl(dirsecurity)

End Sub

End Class

If you want to remove access control permission for Windows Account from directory or file, just change AccessControlType.Allow to AccessControlType.Deny in above code sample.

 

Some tutorials:
Article:Working with Access Control List in .NET

http://nayyeri.net/blog/Working-with-Access-Control-List-in-NET-2-0/


Thread: about DirectorySecurity discussion
http://social.msdn.microsoft.com/Forums/en-US/clr/thread/a83ddfea-5ad7-4a44-ab40-0fd5cadf4e99

相关阅读 更多 +
排行榜 更多 +
无限Fps

无限Fps

飞行射击 下载
幸存者时间僵尸

幸存者时间僵尸

飞行射击 下载
金属兄弟Metal Brother

金属兄弟Metal Brother

冒险解谜 下载