Security VB.Net Tutorial

Imports System
Imports System.Threading
Imports System.Security.AccessControl
Imports System.Security.Principal
Public Class Example
    Public Shared Sub Main()
        Dim user As String = Environment.UserDomainName & "\" & Environment.UserName
        Dim mSec As New SemaphoreSecurity()
        Dim rule As New SemaphoreAccessRule(user,SemaphoreRights.Synchronize Or SemaphoreRights.Modify,AccessControlType.Allow)
        mSec.AddAccessRule(rule)
        rule = New SemaphoreAccessRule(user,SemaphoreRights.ChangePermissions,AccessControlType.Deny)
        mSec.AddAccessRule(rule)
        ShowSecurity(mSec)
        rule = New SemaphoreAccessRule(user,SemaphoreRights.ReadPermissions,AccessControlType.Allow)
        mSec.AddAccessRule(rule)
        ShowSecurity(mSec)
    End Sub 
    Private Shared Sub ShowSecurity(ByVal security As SemaphoreSecurity)
        For Each ar As SemaphoreAccessRule In security.GetAccessRules(True, True, GetType(NTAccount))
            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.SemaphoreRights)
        Next
    End Sub
End Class